host如何修改每个container内的文件内容呢?


一个host上有100个容器,那么如何方便的通过agent往每个容器里cp文件,修改文件内容呢?
我现在的做法是去掉了docker的容器目录隐藏,可以在host上直接读写容器的rootfs目录,但感觉这样存在隐患。而且不会docker倡导的方式。谁有更好的方法?
已邀请:

hjianhao

赞同来自:


我们在实际环境中的做法是容器里面跑ssh服务,通过scp拷贝文件。

智云同学 - 装逼招雷劈,人帅被人欺

赞同来自:


两种方式:
1.启动容器时挂载(volume)一个特定目录,先把文件cp到host的挂载目录下,这其实就已经进到Container里面了,后面要把文件挪地方再通过docker exec来搞;
<ol><li>把文件放到各Container都可达的网络盘中,通过docker exec wget把文件拉到Container中。</li></ol>两种方式各有利弊,如果有条件的话推荐使用第二种方式

wencan - IT杂工

赞同来自:


如果可能,在新的镜像上,重建容器

guanglinlv

赞同来自:


可以参考garden-linux的实现,使用linux namespace来访问容器,导入导出文件;

https://github.com/cloudfoundr ... tar.c

这个就不局限于Docker容器了;

郑伟-风刃

赞同来自:


一样的文件就用xargs + docker cp 吧
如果不一样就用docker exec 执行文件处理的命令,比如sed 之类的

要回复问题请先登录注册