在链接的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