背景是这样的,有个组的研发同学,原来是宿主机的服务,后来改成Docker后,需要crontab定时拉起容器内的shell,但是问题来了,容器内的用户啊,是nologin的,然后研发就束手无策了……
话说,研发就只懂自己那一亩三分地的技术,不脸红的吗?探索精神呢?[……]

阅读全文

默认docker-compose拉起的容器网络类型都是桥接,那么docker-compose使用自定义网络类型呢?
修改yml配置文件即可,以下代码示例就实现了使用host网络模式启动容器:

version: "2"
services: w[......]

阅读全文

有的时候,容器内需要使用一些指令来做程序跟踪,堆栈打印等等,但Docker的安全策略默认禁用了SYS_PTRACE,如何启用呢?
Docker cap-add添加方式有哪些呢?docker-compose的yml文件中,添加如下配置即可:

  cap_[......]

阅读全文

最近有个特别的需求,想看下某个容器拉起时的指令。
由于之前是用sh拉起的,而文件早已找不到了。所以搜了下,还真有针对CentOS的方案:

pip3 install runlike -y

或者:

yum install -y python-pip[......]

阅读全文

这是最近测试同学发现的问题:接手的一个基于Alpine的镜像拉起的容器里和实际时间差了8个小时,很明显,环境变量缺了TZ,当然,除此之外,还需要安装tzdata才行。
那么,Alpine 中如何设置时区?Dockerfile中加入如下代码即可:

RUN[......]

阅读全文

呐,最近微调一个基于Alpine的Dockerfile,由于要和宿主机统一用户,需要用到usermod和groupmod,但执行了下提示命令不存在。
那么,Alpine 中如何使用usermod和groupmod呢?方法如下:

RUN apk --no[......]

阅读全文

有时,我们需要docker-compose传参以配合yml配置文件编译相关镜像并自动拉起服务,那么如何传参呢?
假设我们要传输test=1 test2=2到yml配置文件,那么指令应当如下:

test=1 test2=2 docker-compose -f[......]

阅读全文

这个/dev/stderr和/dev/stdout呢,通常如果留意公共镜像,就会发现,比如nginx的默认日志输出就是打到/dev/stdout而非具体的log文件的。
那么/dev/stdout和/dev/stderr具体是何含义呢?总结如下:

/d[......]

阅读全文

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
Docker中用来守护进程是很方便的,今日就说一下Ubuntu为基础的镜像,Dockerfile如何写来安装使[……]

阅读全文