Создать Docker-сервис в Docker-сервисе - PullRequest
0 голосов
/ 01 февраля 2019

Можно ли порождать Docker Services в контейнере, работающем на Docker swarm?Это позволило бы контейнерам динамически поддерживать компоненты, работающие в рое.

В настоящее время я могу запускать контейнеры в других контейнерах на хост-машине, монтируя /var/run/docker.sock в контейнер при использовании docker-py SDK.

docker run -v /var/run/docker.sock:/var/run/docker.sock master

Внутри контейнера у меня есть скрипт на python, который запускает следующее:

container = docker.from_env().containers.run('worker', detach=True, tty=True, volumes=volumes, network='backend-network', mem_limit=worker.memory_limit)

Возможно ли нечто подобное в Docker Swarm, а не просто ванильный Docker?

1 Ответ

0 голосов
/ 01 февраля 2019

Вы можете смонтировать Docker-сокет и использовать модуль Docker, как вы делаете сейчас, но создайте сервис, если вы находитесь на узле менеджера.

some_service = docker.from_env().services.create(…)

https://docker-py.readthedocs.io/en/stable/services.html

...