Какова цель создания тома между двумя файлами docker.sock в Docker? - PullRequest
0 голосов
/ 11 декабря 2018

Я вижу это во многих докерских приложениях, которые так или иначе связаны с сетью, но я не могу понять это

1 Ответ

0 голосов
/ 17 декабря 2018

Понял.

https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

Давайте сделаем шаг назад.Вы действительно хотите Docker-in-Docker?Или вы просто хотите иметь возможность запускать Docker (а именно: собирать, запускать, иногда отправлять контейнеры и образы) из вашей системы CI, в то время как сама эта система CI находится в контейнере?

Я собираюсьДержу пари, что большинство людей хотят последнее.Все, что вам нужно, - это решение, позволяющее вашей CI-системе, такой как Jenkins, запускать контейнеры.

И самый простой способ - просто открыть Docker-сокет для вашего CI-контейнера, подключив его с привязкой с флагом -v.

Проще говоря, когда вы запускаете свой контейнер CI (Jenkins или другой), вместо того, чтобы что-то взламывать вместе с Docker-in-Docker, запустите его с помощью:

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

Теперь этот контейнер будет иметь доступ к сокету Docker и, следовательно, сможет запускать контейнеры.За исключением того, что вместо запуска «дочерних» контейнеров он запускает «одноуровневые» контейнеры.

...