使用docker.py创建和挂载卷

时间:2019-06-05 21:51:19

标签: python-3.x docker

我一直在浏览文档和一些教程,但是似乎找不到关于如何使用docker.py库创建卷的最新信息。由于create_host_config()方法似乎不存在,因此我发现没有什么是最新的。对于解决此问题的任何帮助或朝正确方向的推动将不胜感激。谢谢大家。

我在以下位置搜索了文档: https://docker-py.readthedocs.io/en/stable/ https://github.com/docker/docker-py

我尝试使用此旧堆栈溢出示例: How to bind volumes in docker-py?

我还尝试了client.volumes.create()方法。

我正在尝试编写一个类,以使Docker易于大多数人使用python处理。

import docker
VOLUMES = ['/home/$USER', '/home/$USER/Desktop']

def mount(volumes):

       mount_points = []
       docker_client = docker.from_env()

       volume_bindings = _create_volume_bindings(volumes)
       host_config = docker_client.create_host_config(binds=volume_bindings)


def _create_volume_bindings(volumes):
    volume_bindings = {}
    for path in range(len(volumes)):
        volume_bindings[volumes[path]] = {'bind': 'mnt' + str(path + 1),
                       'mode': 'rw'}

    return volume_bindings

1 个答案:

答案 0 :(得分:0)

也许您想使用Low-level API client

如果是,您可以尝试替换行

docker_client = docker.from_env()

使用

docker_client = docker.APIClient(base_url='unix://var/run/docker.sock')

该人拥有create_host_config()方法。