如何保存从docker挂载的文件到任何目录与python docker sdk?



情况如下:

我需要从挂载的目录中保存文件,例如,在我的Desktop中。我该怎么做呢?

import os, stat
import shutil
import docker
client = docker.from_env()
mounts = [docker.types.Mount(source ="/absolute/path/to/source/folder/" + docker_image_id, target="/target_folder", type="volume")]
ok = client.containers.run(image="image_name", detach=True, remove=True, mounts = mounts, name=ip)

这段代码出错了:

docker.errors.APIError: 
400 Client Error for http+docker://localhost/v1.41/containers/create?name=TestContainer1: 
Bad Request ("create /home/cv/Desktop/archive_TestContainer1: "/home/cv/Desktop/archive_TestContainer1" 
includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. 
If you intended to pass a host directory, use **absolute path**")

好吧,这是一个愚蠢的实现。我做了一个docker容器,它提供了一个访问文件存储在/usr/lib/docker/volumes/volumename,并把每个文件放在这个"控制器"中。

最新更新