从docker容器运行docker命令

需要编写一个Dockerfile来安装容器-a中的docker。 因为container-a需要执行一个docker命令到容器-b,它与container-a一起运行。 我的理解是在编写Dockerfile时不应该使用“sudo”。 但是我陷入困境 – 我分配给docker组的用户是什么? 当你运行docker exec -it ,你会自动创buildroot。

sudo usermod -a -G docker whatuser?

另外(我正在手动尝试在container-a中查看它是否工作),您必须执行newgrp docker来激活对组的更改。 任何时候我这样做,当我没有sudo'ed时,我最终sudo'ing。 那有意义吗? 症状是 – 我要exit容器,我必须退出两次(就像我改变了用户一样)。

我究竟做错了什么?

如果你正试图在容器旁边运行容器(不是容器内的容器),你应该从主机系统中挂载docker套接字,然后用下面的方法执行命令到其他容器:

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

随着dockersockets的安装,您可以控制主机系统上的docker。