我正在尝试通过Docker容器运行命令。我能够成功创建并打印容器日志到控制台,但是,我希望能够在连接到容器后运行命令。我在创建用于管理容器的基于Web的控制台时使用Flask。我已将其连接到容器,但要在连接后发送命令,而不要在创建容器时发送命令。
client.containers.run(“ ubuntu:latest”,“ echo hello world”)将创建容器并回显hello world,但是我想要它,因此一旦容器已经创建,我就能够发送命令。我正在使用来自Docker的官方docker.py库。
@DockerDeploy.route('/dashboard')
def dashboard():
container = client.containers.run('ubuntu:latest', detach=True)
for line in container.logs(stream=True):
print(line.strip())
return "<h1>Container Created!</h1>"
答案 0 :(得分:2)
docker.py
文档提供了答案:
Docker.py Execute
由于不建议执行,因此必须使用exec_create
和exec_start
。
因此,您必须使用docker.py
来获取容器的ID,但这应该足够了。
希望有帮助。