加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:26:18 所属栏目:安全 来源:网络整理
导读:我知道,有一种方法可以使用docker cp在主机和docker容器之间双向复制文件,也可以使用docker-py从正在运行的容器中获取文件.但是我无法弄清楚如何(或什至有可能)使用docker-py将文件从主机复制到正在运行的容器. 你们有处理此类问题的经验吗?是否有可能做或

我知道,有一种方法可以使用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')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读