容器化持续交付:Docker 原理与实践
1. Docker 镜像传输
在 Docker 环境中,有时需要将镜像直接通过 SSH 进行传输,同时丢弃一些不必要的层。可以使用以下命令实现:
docker export $(docker run -d debian:7.3 true) | \
ssh example.com docker import
需要注意的是,与 docker import 不同, docker load 不需要在末尾加破折号来表示 TAR 文件是通过标准输入传递的。另外,在传输镜像时,要考虑到镜像底层可能隐藏着一些敏感信息,比如公钥。即使在顶层删除了公钥,底层可能仍然存在,这可能会带来安全隐患。如果频繁进行镜像传输,不妨花点时间搭建自己的镜像仓库,让操作更规范。
2. 为不同环境配置 Docker 镜像
持续交付(CD)的一个关键理念是“在任何地方都做相同的事情”。在 Docker 环境中,这意味着在不同环境中使用相同的镜像。然而,不同环境可能存在差异,例如外部服务的 URL 不同。对于普通应用程序,可以使用环境变量来解决这个问题,但对于 Docker 容器,使用环境变量并不总是方便,尤其是在多台机器上应用时。
这里介绍一种使用 etcd 为容器提供配置信息的方法。
2.1 问题分析
在运行容器时,需要一个外部的配置源。
2.2 解决方案
设置 etcd,一个分布式键值存储,来
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



