gpt4 book ai didi

python - 如何使用 docker-py (docker SDK) 将文件从主机复制到容器

转载 作者:太空狗 更新时间:2023-10-30 02:26:03 25 4
gpt4 key购买 nike

我知道,有一种方法可以使用 docker cp 在主机和 docker 容器之间双向复制文件,也可以使用 docker-py 从正在运行的容器中获取文件。但是我无法弄清楚如何(或者如果可能的话)使用 docker-py 将文件从主机复制到正在运行的容器。你们有遇到此类问题的经验吗?是否有可能或我必须使用 python os.system 执行命令。我想避免这种解决方案。

最佳答案

像这样的东西应该可以工作:

import os
import tarfile
import docker

client = docker.from_env()

def copy_to(src, dst):
name, dst = dst.split(':')
container = client.containers.get(name)

os.chdir(os.path.dirname(src))
srcname = os.path.basename(src)
tar = tarfile.open(src + '.tar', mode='w')
try:
tar.add(srcname)
finally:
tar.close()

data = open(src + '.tar', 'rb').read()
container.put_archive(os.path.dirname(dst), data)

然后像这样使用它:

copy_to('/local/foo.txt', 'my-container:/tmp/foo.txt')

关于python - 如何使用 docker-py (docker SDK) 将文件从主机复制到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com