Docker 2024 04/Docker Compose: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
Zeile 41: Zeile 41:
}}
}}


=== Beispiel 2) Node Webserver (bestehendes Image) ===
=== Beispiel 2) Node Webserver (bestehendes Image, Folder Mount) ===
Siehe [[Docker_2024_04/Containers#Beispiel_5):_Node_Webserver|hier]]
Siehe [[Docker_2024_04/Containers#Beispiel_5):_Node_Webserver|hier]]


Zeile 72: Zeile 72:
Service beenden
Service beenden
{{BML|code=docker compose down}}
{{BML|code=docker compose down}}
=== Beispiel 3) Node Webserver (existing Image, Volume Mount) ===
Siehe [[Docker_2024_04/Containers#Beispiel_5.1):_Node_Webserver_Using_Named_Volume|hier]]
Inhalt '''docker-compose.yml'''
{{BML|code=
services:
  #Service name
  node_webserver:
    #Container name, --name
    container_name: node_webserver
    #Used image
    image: example5:1.0
    #Folder/Volume mount -v
    volumes:
      - www:/var/www
    ports:
      - 8000:5000
volumes:
  www:
}}

Version vom 18. April 2024, 09:03 Uhr

Docker Compose bietet eine komfortable Möglichkeit Images zu bauen und Container bzw. Container im Serviceverbund zu starten. Die Erstellung von Volumes und Networks wird stark erleichtert. Zudem muss der oft Komplexe docker run Befehl nicht abgelegt werden.

Im folgenden werden einige der zuvor erstellten Beispiele mit Docker Compose nachgebaut.

Der Standard Name für Docker Compose Dateien ist docker-compose.yml.
Mit dem Parameter -f kann jedoch direkt eine Docker Compose Datei angegeben werden.
Z.b.: docker-compose -f service1.yml

Beispiel 1) Erster Container

Siehe hier

Inhalt docker-compose.yml

services:
  #Service name
  ubuntu:
    #Container name, --name
    container_name: ubuntu
    #Used image
    image: ubuntu:22.04
    #Command to run
    command: bash
    #Parameter -it
    stdin_open: true 
    tty: true

Service detached starten:

docker compose up -d

Mit Service verbinden und schließen

docker attach ubuntu
exit

Der Container ist nun im Exited State docker ps -a. Der Container wird mit folgendem Kommando korrekt gelöscht, bzw. auch gestoppt sofern dieser gestartet ist. Es werden so ebenfalls alle erstellten Netzwerke gelöscht. Wird Docker Compose verwendet so wird nicht Standardmäßig das bridge Netzwerk bridge verwendet.

docker compose down

Beispiel 2) Node Webserver (bestehendes Image, Folder Mount)

Siehe hier

Inhalt docker-compose.yml

services:
  #Service name
  node_webserver:
    #Container name, --name
    container_name: node_webserver
    #Used image
    image: example5:1.0
    #Folder/Volume mount -v
    volumes:
      - ./http:/var/www
    ports:
      - 8000:5000

Service starten

docker compose up -d

Logs einsehen

docker compose logs [service name optional]

Ressourcen einsehen

docker compose stats [service name optional]

Informationen einsehen

docker compose ps [service name optional]

Webserver testen http://localhost:8000

Service beenden

docker compose down

Beispiel 3) Node Webserver (existing Image, Volume Mount)

Siehe hier Inhalt docker-compose.yml

services:
  #Service name
  node_webserver:
    #Container name, --name
    container_name: node_webserver
    #Used image
    image: example5:1.0
    #Folder/Volume mount -v
    volumes:
      - www:/var/www
    ports:
      - 8000:5000

volumes:
  www: