A-A+

如何使用 Docker centos container 测试自动化部署脚本

2015年08月24日 学习小计, 编程开发 暂无评论 阅读 2,869 次

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 即可正常启动。 但是在生产环境中,这种做法就很危险。

参考

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录