【发布时间】:2015-04-27 23:58:13
【问题描述】:
有没有办法从链接的 docker 容器中的一个 docker 容器中执行命令? 我不想从主机执行命令。
【问题讨论】:
标签: docker
有没有办法从链接的 docker 容器中的一个 docker 容器中执行命令? 我不想从主机执行命令。
【问题讨论】:
标签: docker
只要您可以访问容器中的 docker 套接字之类的东西,您就可以在任何 docker 容器中运行任何命令,无论它是否已链接。例如:
# 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-compose:
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
【讨论】:
正如“Abdullah Jibaly”所说,您可以这样做,但您必须考虑一些安全问题,还有sdk docker 可以使用,python 应用程序可以使用Docker SDK for Python
【讨论】: