我正在尝试从另一个Docker容器中运行一个可执行文件,而该文件已经在Docker容器中。这可能吗?
version: '3.7'
services:
py:
build: .
tty: true
networks:
- dataload
volumes:
- './src:/app'
- '~/.ssh:/ssh'
winexe:
build:
context: ./winexe
dockerfile: Dockerfile
networks:
- dataload
ports:
- '8001:8001'
volumes:
- '~/path/to/winexe:/usr/bin/winexe'
- '~/.ssh:/ssh'
depends_on:
- py
networks:
dataload:
driver: bridge
我正在尝试从'py'访问Winexe
最佳答案
假设您的意思是从一个容器内部运行另一个Docker容器,则可以通过以下几种方式完成此操作:
在容器内安装docker
命令,然后:
docker
命令直接联系主机实例。 请注意,这实际上使容器
root
级别可以访问主机!我敢肯定,还有更多的方法可以做到这一点,但是方法2是我最常看到的方法。如果您打算在另一个已运行的Docker容器中运行另一个可执行文件,则也可以使用
docker exec
以上述方式执行此操作,或者在第二个容器中运行某种守护程序来接受命令并为您运行所需的命令。
关于docker - 从另一个容器在Docker容器中运行可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942469/