A-A+
如何使用 Docker centos container 测试自动化部署脚本
Docker 镜像文件到底有多大?
$ sudo docker pull centos:6
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos 6 510cf09a7986 3 weeks ago 202.6 MB
可见一个 centos 6 的镜像才 200M。
一个有趣的现象
sudo docker run -t -i centos:6 /bin/bash
登录镜像之后,安装的所有程序,在 exit 之后,再进去就会消失,很便于初始化测试环境啊,哈哈哈。
如何将本地文件复制到 docker container 中
sudo docker run -t -i -v /path/to/hostdir:/mnt $container /bin/bash
cp /mnt/sourcefile /path/to/destfile
在 docker 的 centos 6 镜像下,启动 dnsmasq 会报错
/etc/init.d/dnsmasq start
dnsmasq: setting capabilities failed: Operation not permitted
而在实体机上就不会有这个问题。可以看到,dnsmasq 默认是使用 nobody 用户起的服务
# ps axuw | grep dnsmasq
nobody 19846 0.0 0.0 11180 676 ? S 16:56 0:00 /usr/sbin/dnsmasq
zhongwei 19937 0.0 0.0 103196 772 pts/1 S+ 16:56 0:00 grep dnsmasq
参考 dnsmasq: setting capabilities failed: Operation not permitted 只要把配置文件 /etc/dnsmasq.conf 中的 user 改成 root 即可正常启动。 但是在生产环境中,这种做法就很危险。