Отключить автозапуск проекта докеры
У меня есть проект для создания докеры с использованием Docker для Mac, который автоматически запускается при загрузке компьютера.
Обычно я запускаю проект с docker-compose up -d
, но даже запускаю docker-compose stop
, прежде чем отключать автозапуск снова при загрузке.
Я не знаю, как это сделать. Как отключить его?
Ответы
Ответ 1
Сегодня у меня была такая же проблема, что все контейнеры запускаются при загрузке моего ноутбука dev, поскольку restart: always
был установлен в .yml файлах.
Поскольку я не хочу касаться файлов .yml, я только что узнал (спасибо Bobby), как изменить этот параметр на:
docker update --restart=no <MY-CONTAINER-ID>
Ответ 2
Попробуйте с помощью docker-compose down
вместо docker-compose stop
вниз
Останавливает контейнеры и удаляет контейнеры, сети, тома и образы, созданные up. Сети и тома, определенные как внешние, никогда не удаляются.
стоп
Останавливает работу контейнеров, не удаляя их. Они могут быть снова запущены при docker-compose start
.
Ответ 3
restart: no
- режим по умолчанию. В вашем файле docker-compose есть строка с restart: no
или restart: unless-stopped
. Это также означает, что когда вы загружаете свою систему, она (и) снова запускает контейнер до тех пор, пока работает демон docker. подробности
Вам нужно изменить restart
на no
или on-failure
, например:
version: '2.1'
services:
backend:
restart: on-failure
build:
args:
USER_ID: ${USER_ID}
context: codebase/namp-backend
dockerfile: Dockerfile.dev
ports:
- "5001:5001"
- "5851:5851"
volumes:
- ./codebase/namp-backend:/codebase
environment:
Кроме того, docker-compose down
в большинстве случаев дает тот же результат - не запускайте контейнеры при запуске (docker) системы, за исключением того, что контейнеры будут удалены после этого, а не остановлены.
Ответ 4
Рядом с параметром restart: unless-stopped
, удалите существующие контейнеры и создайте их заново.
docker-compose down
docker-compose up -d
Теперь это будет работать как ожидалось:
docker-compose stop
sudo service docker restart
docker-compose ps
# should NOT HAVE containers running
docker-compose up -d
sudo service docker restart
docker-compose ps
# should HAVE containers running