Docker-Kurztaste
Häufig verwendete Docker-Befehlsparameter
Hier ist ein Docker Cheat Sheet, der die wichtigsten Befehle und Konzepte von der Installation bis zum Laufen von Containern und Bereinigen abdeckt:
Installation
Auf Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Docker Compose Installation
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
Allgemeine Docker-Befehle
Version und Systeminformationen
docker version # Zeigt Docker CLI- und Daemon-Versionen an
docker system info # Listet Daten über Ihre Docker-Umgebung auf
docker help # Zeigt den Hilfeindex an
docker <command> --help # Zeigt Hilfinformationen für einen bestimmten Befehl an
Anmeldung und Abmeldung
docker login # Anmeldung bei Docker Hub
docker logout # Abmeldung von Docker Hub
Image-Management
Bilder auflisten
docker images # Listet alle Bilder auf
docker images -a # Listet alle Bilder auf, einschließlich Zwischenbilder
Bilder herunterladen
docker pull <image-name:version> # Lädt ein Bild von Docker Hub herunter
Bilder erstellen
docker build -t <image-name> . # Erstellt ein Bild aus der Dockerfile im aktuellen Verzeichnis
docker build -f <Dockerfile-path> -t <image-name> . # Erstellt ein Bild aus einer bestimmten Dockerfile
docker build --build-arg foo=bar . # Erstellt ein Bild mit Build-Argumenten
docker build --pull . # Lädt aktualisierte Versionen der in FROM-Anweisungen verwendeten Bilder herunter
docker build --quiet . # Erstellt ein Bild ohne Ausgabe
Bilder taggen und pushen
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Bilder entfernen
docker rmi <image-name> # Entfernt ein bestimmtes Bild
docker image prune # Entfernt nicht verwendete Bilder
docker image prune -a # Entfernt alle nicht verwendeten Bilder
Entfernen von hängenden Bildern
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Bild enttaggen
docker rmi repository/image-name:tag
Container-Management
Container starten
docker run -itd --name <container-name> <image-name> # Startet einen Container im abgekoppelten Modus
docker run -it -p <host-port>:<docker-port> <image-name> # Startet einen Container mit Portzuordnung
docker run -it --name <container-name> <image-name> # Startet einen Container interaktiv
Container auflisten
docker ps # Listet laufende Container auf
docker ps -a # Listet alle Container auf
docker ps -s # Listet laufende Container mit CPU- und Speichernutzung auf
Container starten, stoppen und neu starten
docker start <container-name> # Startet einen gestoppten Container
docker stop <container-name> # Stoppt einen laufenden Container
docker restart <container-name> # Neustart eines Containers
Container entfernen
docker rm <container-name> # Entfernt einen gestoppten Container
docker rm -f <container-name> # Entfernt einen Container gewaltsam
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Entfernt alle Container
Entfernen aller gestoppten Container
docker container prune
Anschließen an Container
docker attach <container-name> # Schließt an einen laufenden Container an
docker exec -it <container-name> bash # Führt einen Befehl in einem laufenden Container interaktiv aus
Container untersuchen
docker inspect <container-name> # Untersucht einen Container
docker logs <container-name> # Zeigt die Protokolle eines Containers an
docker port <container-name> # Zeigt die Portzuordnungen eines Containers an
Netzwerk-Management
docker network ls # Listet alle Netzwerke auf
docker network create <network-name> # Erstellt ein neues Netzwerk
docker network rm <network-name> # Entfernt ein Netzwerk
Volume-Management
docker volume ls # Listet alle Volumes auf
docker volume create <volume-name> # Erstellt ein neues Volume
docker volume rm <volume-name> # Entfernt ein Volume
docker run -v <host-path>:<container-path> <image-name> # Ein Volume mounten
Docker Compose
Grundlegende Befehle
docker-compose up # Startet die in docker-compose.yml definierten Dienste
docker-compose up -d # Startet Dienste im abgekoppelten Modus
docker-compose down # Stoppt und entfernt Dienste
docker-compose ps # Listet laufende Dienste auf
docker-compose logs # Zeigt die Protokolle der Dienste an
docker-compose start # Startet Dienste
docker-compose stop # Stoppt Dienste
docker-compose pause # Pausiert Dienste
docker-compose unpause # Pausiert Dienste aufheben
Dockerfile-Befehle
Bild aus Dockerfile erstellen
docker build -t <image-name> <Dockerfile-path> # Erstellt ein Bild aus einem Dockerfile
Beispiel Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Sicherheit und Geheimnisse
Docker-Geheimnisse
docker secret create <secret-name> <file> # Erstellt ein Geheimnis
docker secret ls # Listet alle Geheimnisse auf
docker secret rm <secret-name> # Entfernt ein Geheimnis
Docker-Sicherheit
- Nutzen Sie Docker-Geheimnisse, um sensible Daten zentral zu verwalten und sie sicher an Container zu übermitteln.
- Geheimnisse werden während der Übertragung und im Ruhezustand in einem Docker-Swarm verschlüsselt.
Bereinigung
Entfernen nicht verwendeter Ressourcen
docker system prune # Entfernt nicht verwendete Daten (Bilder, Container, Netzwerke, Volumes)
docker image prune # Entfernt nicht verwendete Bilder
docker container prune # Entfernt nicht verwendete Container
docker network prune # Entfernt nicht verwendete Netzwerke
docker volume prune # Entfernt nicht verwendete Volumes
Entfernen von ungetagten Bildern
Manchmal nach einem großen, guten Build gibt es ein Bild wie dieses aus dem docker images
-Befehl:
um diese Bilder mit
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
der obige Befehl ist veraltet und inkompatibel. Der Parameter dangling=true ist veraltet. Nutzen Sie stattdessen:
docker system prune
es wird folgende Warnung anzeigen:
WARNING! Dies wird folgendes entfernen:
- alle gestoppten Container
- alle Volumes, die von mindestens einem Container nicht genutzt werden
- alle Netzwerke, die von mindestens einem Container nicht genutzt werden
- alle hängenden Bilder
Sie können entscheiden, Ja zu dieser Warnung zu sagen…
Dieser Cheat Sheet umfasst die wesentlichen Befehle und Konzepte, die benötigt werden, um Docker-Container, -Bilder, -Netzwerke, -Volumen und mehr zu verwalten. Für eine tiefere Einblick, beziehen Sie sich auf die detaillierten Leitfäden und Tutorials, die online verfügbar sind.
Nützliche Links
- Python Cheat Sheet
- Conda Cheat Sheet
- Bash Cheat Sheet
- Ollama Cheat Sheet
- Kubernetes Cheat Sheet
- Codierung - Decodierung von Base64 auf Windows, Linux und Mac
- Portainer auf Linux installieren
- Linux neu installieren
- Wie man Terminalfenster in Linux Mint/Ubuntu gestapelt startet
- MinIO als Alternative zu AWS S3. MinIO-Übersicht und Installation
- MinIO-Befehlszeilenparameter-Cheat Sheet