在CI环境中,我想将凭证传递给我们内部的Gems服务器,进入在CI作业中启动的docker容器。 我希望能够configurationdocker守护进程始终从代理上的环境中获取variables,并将其推送到所有启动的容器中。
目前可以做到这一点吗?
简单的方法:
$ export HOSTVAR=somevalue $ docker run -it --rm -e CONTAINERVAR="${HOSTVAR}" someimage
这当然不会把更改HOSTVAR推到运行的容器中,如果HOSTVAR发生改变,您还需要确保重新创build每个正在运行的容器。 根据你的设置,这可能是足够的,即每个testing运行在一个新的容器。
如果你有长时间运行的容器,你将不得不依赖像你的容器中运行的etcd这样的共享configuration守护进程。 设置并允许监听集中configuration键/值存储中的更改非常简单。 检查etcd文档的例子。