wake-up-neo.com

Deaktivieren Sie den Autostart des Docker-Compose-Projekts

Ich habe ein Docker-Compose-Projekt mit Docker für Mac, das beim Starten des Computers automatisch gestartet wird.

Normalerweise starte ich das Projekt mit docker-compose up -d, aber sogar läuft docker-compose stop vor dem Herunterfahren wird der Autostart beim Booten erneut gestartet.

Mir ist nicht bewusst, dies spezifisch zu ermöglichen. Wie kann ich es deaktivieren?

34
Harald Nordgren

Heute hatte ich das gleiche Problem, dass alle Container gestartet werden, wenn ich meinen Entwickler-Laptop starte, als restart: always wurde in den .yml-Dateien festgelegt.

Da ich die .yml-Dateien nicht berühren möchte, habe ich gerade herausgefunden (danke Bobby), wie ich diese Einstellung ändern kann, indem ich:

docker update --restart=no <MY-CONTAINER-ID>
21
davey

Versuchen Sie es mit docker-compose down Anstelle von docker-compose stop

runter

Stoppt Container und entfernt Container, Netzwerke, Volumes und Images, die von up erstellt wurden. Als extern definierte Netzwerke und Volumes werden nie entfernt .

Stopp

Stoppt den Betrieb von Containern, ohne diese zu entfernen. Sie können erneut mit docker-compose start Gestartet werden.

9
vanduc1102

restart: no ist der Standardmodus. In Ihrer Docker-Compose-Datei befindet sich eine Zeile mit restart: no oder restart: unless-stopped. Dies bedeutet auch, dass beim Starten des Systems die Container (neu) neu gestartet werden, solange der Docker-Daemon vorhanden ist. Details
Sie müssen restart in no oder ändern. on-failure, Beispiel:

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:

Ebenfalls docker-compose down gibt in den meisten Fällen das gleiche Ergebnis - starten Sie keine Container während des (Docker-) Systemstarts, außer: Container werden danach gelöscht, nicht gestoppt.

2
Grigory

Neben der Einstellung restart: unless-stopped, vorhandene Container entfernen und neu erstellen.

docker-compose down
docker-compose up -d

Jetzt würde es wie erwartet funktionieren:

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
0
bmihelac