簡體   English   中英

python docker sdk 如何在containers.run 中運行多個命令

[英]python docker sdk how to run multiple commands in containers.run

我將 python 3 與 docker sdk 一起使用,並使用containers.run來創建容器並運行我的代碼,當我將命令參數與一個命令用作字符串時,它工作正常

看代碼

client = docker.from_env()
container = client.containers.run(image=image, command="echo 1")

當我嘗試使用命令列表時(根據文檔這很好)

client = docker.from_env()
container = client.containers.run(image=image, command=["echo 1", "echo 2"])

我收到此錯誤

OCI 運行時創建失敗:container_linux.go:345:啟動容器進程導致“exec:\\”echo 1\\”:在 $PATH 中找不到可執行文件

使用一個字符串時也會發生同樣的情況

"echo 1; echo 2"

我正在使用 ubuntu 19 和 docker

Docker 版本 18.09.9,構建 1752eb3

它曾經可以很好地處理命令列表,新版本的 docker 有什么問題,還是我在這里遺漏了什么?

嘗試這個:

container = client.containers.run(image="alpine:latest", command=["/bin/sh", "-c", 'echo 1 && echo 2'])

你可以用這個。

client = docker.from_env()
container = client.containers.run(image=image, command='/bin/sh')
result = container.exec_run('echo 1')
result = container.exec_run('echo 2')
   
container.stop()
container.remove()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM