当前位置: 首页 > 面试题库 >

如何在docker-py中绑定卷?

凤衡
2023-03-14
问题内容

我认为这在几个月前就可以解决了。常规命令行泊坞窗:

>> docker run --name 'mycontainer' -d -v '/new' ubuntu /bin/bash -c 'touch /new/hello.txt'
>> docker run --volumes-from mycontainer ubuntu /bin/bash -c 'ls new'
>> hello.txt

可以正常工作,但是我无法在docker-py中工作:

from docker import Client #docker-py
import time

docker = Client(base_url='unix://var/run/docker.sock')
response1 = docker.create_container('ubuntu', detach=True, volumes=['/new'],
    command="/bin/bash -c 'touch /new/hello.txt'", name='mycontainer2')
docker.start(response1['Id'])
time.sleep(1)
response = docker.create_container('ubuntu', 
    command="/bin/bash -c 'ls new'", 
    volumes_from='mycontainer2')
docker.start(response['Id'])
time.sleep(1)
print(docker.logs(response['Id']))

..总是告诉我,新的不存在。volumes-from应该如何使用docker-py完成?


问题答案:

以下是进行卷绑定的当前工作方式:

volumes= ['/host_location']
volume_bindings = {
                    '/host_location': {
                        'bind': '/container_location',
                        'mode': 'rw',
                    },
}

host_config = client.create_host_config(
                    binds=volume_bindings
)

container = client.create_container(
                    image='josepainumkal/vwadaptor:jose_toolUI',
                    name=container_name,
                    volumes=volumes,
                    host_config=host_config,
) 
response = client.start(container=container.get('Id'))


 类似资料:
  • 问题内容: 我尝试使用docker-py(版本1.3.1)启动Docker容器。我想将容器内部端口映射到其他端口,但无法正确公开它们。 我这样做是这样的: 在当前情况下,输出如下: docker ps告诉我: 但是如果我给它映射3000-> 3000,2424-> 2424和2480-> 2480 关键是从命令行我可以使用正确的端口映射启动容器。那是 docker运行-d -p 3001:3000

  • 假设我有一个名为“mynet”的网络,我想启动一个IP地址绑定到192.168.23.2的容器。 我开始使用的代码是: 我从这里做什么?我正在有效地从中寻找与选项等效的选项。

  • 我在redis stream文档中看到了这一点,它说: 是时候试着用消费者群体来阅读一些东西了: XREADGROUP回复与XREAD回复一样。请注意,尽管上面提供了一个组,但它声明我希望使用消费者组mygroup从流中读取数据,我是消费者Alice。每次使用者对使用者组执行操作时,都必须指定其名称,以便在组内唯一标识此使用者。 在上面的命令行中还有另一个非常重要的细节,在强制流选项之后,为密钥m

  • Docker-py 是用 Python 写的一个 API 客户端。它可以让用户执行docker命令所要做的任何事情,但是可以在Python应用程序中执行–运行容器、管理容器、管理Swarms等。

  • 我发现了这个相关的问题:如何在卷中装入单个文件,但使用PWD运行的概念在Windows上对我不起作用,因为我得到了以下错误: 我正在Windows 10(构建16299.192)上运行Docker 我的Docker运行命令是:

  • 问题内容: 起作用但是 没有。 我无法在python中绑定+ 。是否有所有可能按键的文档? 问题答案: 用途: 我没有指向这些事件名称的完整列表的链接。这是我收集的部分清单: