[英]python docker how to mount the directory from host to container
有人可以分享一些展示如何安裝目錄的py api示例嗎? 我嘗試過這種方法,但看不到它的作用
dockerClient = docker.from_env()
dockerClient.containers.run('image', 'ls -ltr', volumes={os.getcwd(): {'bind': '/tmp/', 'mode': 'rw'}})
根據以下內容更改代碼:
import os
import docker
client = docker.from_env()
container = client.containers.run('ubuntu:latest', 'ls -ltr /tmp', volumes={os.getcwd(): {'bind': '/tmp/', 'mode': 'rw'}}, detach=True)
print(container.logs())
# => b'total 4\n-rw-r--r-- 1 1000 1000 215 Feb 14 12:07 main.py\n'
在這里,容器對象是關鍵。 要獲得它,您必須將detach
param傳遞為True
。
然后,它可以打印出已執行命令的結果。
獲取輸出的另一種方法是將stream
參數設置為True
,該參數返回日志生成器而不是字符串。 如果detach為true,則忽略。
lines = client.containers.run('ubuntu:latest', 'ls -la /', volumes={os.getcwd(): {'bind': '/tmp/', 'mode': 'rw'}}, stream=True)
for line in lines:
print(line)
docker-py是docker引擎api的包裝。 因此,一切都在容器內執行,並且執行結果可通過REST獲得。
如果要執行某些操作並即時獲取其輸出,則可以使用subprocess
模塊。
import subprocess
subprocess.run(["docker run ..."])
文檔:
client.containers.run(...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.