LINUX.ORG.RU

Объясните как использовать метод Docker API | Python

 , ,


1

1

Метод фунции containers run требует аргументов

Все понятны кроме одного

Вот пример моего кода:

        client.containers.run(image='slave:latest', detach=True, name='Jenkins_slave', network_mode='bridge', 
        volumes={
        '/home/jenkins': {
            'bind': 'slave_data', 
            'mode': 'rw'
            }
        })

Только вот жалуется, что slave_data не является путем, а вместо 'bind' 'volume' не принимает

Кусок документации

volumes (dict or list) –

A dictionary to configure volumes mounted inside the container. The key is either the host path or a volume name, and the value is a dictionary with the keys:

    bind The path to mount the volume inside the container
    mode Either rw to mount the volume read/write, or ro to mount it read-only.

For example:

{'/home/user1/': {'bind': '/mnt/vol2', 'mode': 'rw'},
 '/var/www': {'bind': '/mnt/vol1', 'mode': 'ro'}}

Линк на доку

Что нужно: slave_data(это volume, не bind монтирование) должно примонтировать в /home/jenkins

как быть?

Deleted

Есть теория, что должно быть так:

        client.containers.run(image='slave:latest', detach=True, name='Jenkins_slave', network_mode='bridge', 
        volumes={
        'slave_data': {
            'bind': '/home/jenkins', 
            'mode': 'rw'
            }
        })

Только вот я не уверен. Кажется, что я уже делал так, но вот не помню...

Deleted
()
Ответ на: комментарий от Deleted

В требованиях:

slave_data(это volume, не bind монтирование) должно примонтировать в /home/jenkins

В документации:

The key is either the host path or a volume name

bind - The path to mount the volume inside the container

Значит, этот вариант и должен работать, вспоминай.

Laz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.