'docker -compose up' от имени другого пользователя без воссоздания контейнеров - PullRequest
1 голос
/ 18 июня 2020

Файл docker-compose.yml был использован для создания нескольких Docker контейнеров, если пользователь foo запустил docker-compose up -d. Однако для пользователя foo запланировано удаление, и мы хотим, чтобы другой пользователь bar отвечал за запуск этих же контейнеров. Файл docker-compose.yml вместе с подключенными томами теперь также должен быть перемещен в другое место.

Возможно ли теперь, чтобы пользователь bar взял на себя управление существующими контейнерами Docker вместо пользователь foo выполняет docker-compose down и пользователь bar копирует все файлы в новое место, а затем запускает docker-compose up -d?

Таким образом мы избежим необходимости повторять шаги настройки во вновь созданном Docker контейнеров, созданных пользователем bar.

1 Ответ

2 голосов
/ 19 июня 2020

Docker не имеет понятия «пользователь». Любой, кто может связаться с демоном Docker, может выполнить любую операцию с любым контейнером.

В контексте Compose, как правило, ключи не зависят от имени проекта, которое по умолчанию соответствует имени текущего каталога. Поэтому, если проект ранее находился в /home/foo/projects/thing, выполнение команд docker-compose из /home/bar/projects/thing должно найти те же контейнеры, тома и сети. (И если есть привязки с относительным путем, он захочет переместить их в новый базовый каталог.)

...