2017-02-14 116 views
1

需要编写一个将docker安装在container-a中的码头文件。因为container-a需要执行一个docker命令到容器-b,它与容器-a一起运行。 我的理解是在编写Dockerfile时不应该使用“sudo”。 但是我陷入了困境 - 我分配给码头组的用户?当您运行docker exec -it时,您将自动生成root用户。从码头集装箱运行码头命令

sudo usermod -a -G docker whatuser?

同时,(我试图手动从这个里面容器一个,看它是否甚至还可以),你必须做一个newgrp docker以激活更改到组。任何时候我这样做,当我没有sudo'ed时,结束sudo'ing。那有意义吗?症状是 - 我去容器exit,我不得不退出两次(就好像我改变了用户)。

我在做什么错?

回答

2

如果你想彼此并列(内部容器而非容器),运行的容器,应安装在主机系统的码头工人插座和执行命令到其他容器那样:

docker run --name containera \ 
     -v /var/run/docker.sock:/var/run/docker.sock \ 
     yourimage 

随着码头插座已安装,您可以控制主机系统上的码头。

+0

是。就是这样。您需要做两件事:1)从主机系统中安装docker套接字,2)在容器中安装docker。但是现在你不必担心其他事情(设置/以用户身份运行等),因为主机将为你处理。凉。非常感谢。 – Bear