K8s中非root用户修改MAC地址

因业务需要,程序要修改MAC地址,并且开关K8s中Pod的网络。 使用Linux的cap_net_admin,可以做到非root用户执行网络操作。

利用pyinstaller打包Python程序为一个可执行文件

有时,Python发布的程序需要被打包为一个文件夹、甚至一个文件发布。 目前(2020)最佳的策略是使用pyinstaller。 本文介绍了这种方案的配置方法,以及它的2个问题。

Docker的三种网络代理配置

有时因为网络原因,比如公司NAT,或其它啥的,需要使用代理。 Docker的代理配置,略显复杂,因为有三种场景。 但基本原理都是一致的,都是利用Linux的http_proxy等环境变量。

利用环境变量注入修改Docker中的Nginx配置

Docker官方的Nginx镜像,是不支持环境变量修改配置的。 但Docker官方的文档,也给出了解决方案,虽然是个歪招——envsubst。 本文介绍了一个更复杂的真实案例。

利用Nginx架设Webdav服务并用Python的requests使用

本文介绍如何利用Nginx(Docker)架设Webdav服务,并用curl以及Python的requests进行简单的使用。

在Kubernetes中pull私有镜像

Kubernetes在自动pull私有镜像时,经常出现问题,导致ImagePullBackOff。 这是因为没有正确配置pull权限所致。

Docker中Image、Container与Volume的迁移

已经部署的容器化服务,也不是不需要维护的。 而且,由于生产环境往往有这样那样的严格要求,往往需要些非常规操作。 Image(镜像)、Container(容器)和Volume(数据卷)的迁移,就是一类有用的非常规操作。

组合多个docker-compose文件

一个服务,一般有开发、集成、测试、生产等多个环境。 在不同环境下,往往又需要不同的配置。 这时,一个docker-compose.yml文件就难以应付了。 不过,它通过扩展(Extending),对此提供了支持。

容器化运行TensorFlow Serving

现如今,ModelServer已经开始大行其道。 以前训练了一个模型,还必须得用Flask、Falcon手写一个Server的时代,快要一去不复返了。 TensorFlow作为一个流行的AI框架,早已自己解决ModelServer的问题。 并且发展迅速,目前已经成为了可用于生产环境的高性能解决方案。

Docker Swarm概念与基本用法

Docker Swarm是Docker公司开发的容器集群服务。 从1.12.0版本开始,已经是Docker安装后自带的一部分(捆绑软件)了,又称为Swarm Mode,无需额外安装。 与Kubernetes相比,Docker Swarm是一个简单的软件,似乎不堪大用。 但是它与docker-compose兼容的优点,可以弥补一切。 对于没有集群使用经验的小白,用Docker Swarm起步,是一个很好的选择。

安装nvidia-docker2

本文介绍了如何安装、配置nvidia-docker2。

用下载deb的方式来安装docker

本文基于Ubuntu的xenial版本,介绍如何通过下载deb来进行安装。

定制ENTRYPOINT自动修改Docker中volume的权限

本文简单介绍Docker中volume的权限问题,以及通过定制ENTRYPOINT的一种简单解决方案。

Docker中的ENTRYPOINT与CMD

本文对Dockerfile中的ENTRYPOINT与CMD进行了简单的介绍和辨析。

在Docker中安装uWSGI

本文不仅介绍如何在Docker镜像python:alpine中安装python-ldap模块, 还展示了一种更好地制作Docker镜像的方法。

在Docker中使用python-ldap

本文介绍如何在Docker镜像python:alpine中安装python-ldap模块,并且尽量保持镜像的身材。

Linux上Docker的初始化

不要根据官方文档瞎折腾,直接用官方或非官方的脚本来安装就好。

清理Docker的container,image与volume

Docker的容器(container)、镜像(image)、数据卷(volume), 都是由daemon托管的。 因此,在需要清理时,也需要使用其自带的手段。 本文介绍一些Docker的清理技巧,以及它们的来源。

Docker中的Hugo

孤原本为了Hugo,专门制作了一个Docker。 然后却发现,这东西不适合部署在生产环境。