Подтвердить что ты не робот

Отключить автозапуск проекта докеры

У меня есть проект для создания докеры с использованием Docker для Mac, который автоматически запускается при загрузке компьютера.

Обычно я запускаю проект с docker-compose up -d, но даже запускаю docker-compose stop, прежде чем отключать автозапуск снова при загрузке.

Я не знаю, как это сделать. Как отключить его?

4b9b3361

Ответ 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