在链接的docker容器中执行命令

在链接的docker容器中的一个docker容器内执行exec命令有任何方法吗? 我不想从主机执行命令。

只要你有权访问你的容器中的docker套接字,你可以在任何docker容器中运行任何命令,不pipe它是否被链接。 例如:

# run a container and link it to `other` docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock \ --link other:other myimage bash -l bash$ docker exec --it other echo hello 

即使链接没有被指定,这也是有效的。

docker工具撰写

 version: '2.1' services: site: image: ubuntu container_name: test-site command: sleep 999999 dkr: image: docker privileged: true working_dir: "/dkr" volumes: - ".:/dkr" - "/var/run/docker.sock:/var/run/docker.sock" command: docker ps -a 

然后尝试:

 docker-compose up -d site docker-compose up dkr 

结果:

 Attaching to tmp_dkr_1 dkr_1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dkr_1 | 25e382142b2e docker "docker-entrypoint..." Less than a second ago Up Less than a second tmp_dkr_1 

示例项目

https://github.com/reduardo7/docker-container-access