我们托pipe我们自己的内部Dockerregistry,并使用Ansible来configuration将build立/上传容器的Jenkins slave。 由于我们的注册是非SSL的,我们必须添加:
"$DOCKER_OPTS --insecure-registry our.registry.com:5000"
到/ etc / default / docker文件,所以docker守护进程在启动时运行这个标志。 是否正确的方式来使用一个可靠的模板,只是replace整个文件? 或者我们应该使用lineinfile模块,只需添加这一行?
我会说这取决于你的设置。 如果您确定所有Docker主机上的默认/etc/default/docker文件是相同的,并且您需要添加的是上面指定的$DOCKER_OPTS选项,则不需要lineinfile模块。 无论是模板,甚至复制模块将工作,你只需将模板分别在您的angular色的模板目录或文件目录。 使用模板模块的一个好处是你可以使用--diff选项来查看它将做什么改变。 添加到--check启用日志logging的--check运行模式,使跟踪所有更改更容易。
但是,如果dockerconfiguration文件在你的环境中有所不同,比如说其中一些有不同的dns服务器,我会用lineinfile和regex选项。 这样,您可以保留远程主机上的现有DOCKER_OPTS,同时添加额外的不安全选项。 只要确保使用lineinfile的backup=yes选项,以防需要从备份中恢复文件。
一般来说,使用lineinfile是一个反模式。 “只有一条线”通常会变得更多,并且处理逃跑并且总是困难的。