Docker Cheat Sheet
Vanliga Docker-kommandon och parametrar
Sidinnehåll
Här är en Docker snabbguide som täcker de viktigaste kommandona och koncepten från installation till att köra containrar och rensa upp:

Installation
På 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
``").
## Allmänna Docker-kommandon
### Version och systeminformation
```bash
docker version # Visar Docker CLI och daemon-versioner
docker system info # Listar data om din Docker-miljö
docker help # Visa hjälpindex
docker <command> --help # Visa hjälpinformation för ett specifikt kommando
Inloggning och utloggning
docker login # Logga in på Docker Hub
docker logout # Logga ut från Docker Hub
Hantering av bilder
Lista bilder
docker images # Lista alla bilder
docker images -a # Lista alla bilder, inklusive mellanliggande bilder
Hämta bilder
docker pull <image-name:version> # Ladda ner en bild från Docker Hub
Bygg bilder
docker build -t <image-name> . # Bygg en bild från Dockerfile i aktuell katalog
docker build -f <Dockerfile-path> -t <image-name> . # Bygg en bild från ett specifikt Dockerfile
docker build --build-arg foo=bar . # Bygg en bild med byggargument
docker build --pull . # Hämta uppdaterade versioner av bilder som refereras i FROM-instruktioner
docker build --quiet . # Bygg en bild utan att visa output
Märk och skicka bilder
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Ta bort bilder
docker rmi <image-name> # Ta bort en specifik bild
docker image prune # Ta bort obrukade bilder
docker image prune -a # Ta bort alla obrukade bilder
Ta bort lösa bilder
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Avmärk bild
docker rmi repository/image-name:tag
Hantering av containrar
Köra containrar
docker run -itd --name <container-name> <image-name> # Köra en container i bakgrundsläge
docker run -it -p <host-port>:<docker-port> <image-name> # Köra en container med portmappning
docker run -it --name <container-name> <image-name> # Köra en container interaktivt
Lista containrar
docker ps # Lista körande containrar
docker ps -a # Lista alla containrar
docker ps -s # Lista körande containrar med CPU- och minnesanvändning
Starta, stoppa och starta om containrar
docker start <container-name> # Starta en stoppad container
docker stop <container-name> # Stoppa en körande container
docker restart <container-name> # Starta om en container
Ta bort containrar
docker rm <container-name> # Ta bort en stoppad container
docker rm -f <container-name> # Tvinga bort en container
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Ta bort alla containrar
ta bort alla stoppade containrar
docker container prune
Koppla till containrar
docker attach <container-name> # Koppla till en körande container
docker exec -it <container-name> bash # Köra ett kommando i en körande container interaktivt
Inspektera containrar
docker inspect <container-name> # Inspektera en container
docker logs <container-name> # Visa en containers loggar
docker port <container-name> # Visa en containers portmappningar
Nätverkshantering
docker network ls # Lista alla nätverk
docker network create <network-name> # Skapa ett nytt nätverk
docker network rm <network-name> # Ta bort ett nätverk
Volymhantering
docker volume ls # Lista alla volymer
docker volume create <volume-name> # Skapa en ny volym
docker volume rm <volume-name> # Ta bort en volym
docker run -v <host-path>:<container-path> <image-name> # Montera en volym
Docker Compose
Grundläggande kommandon
docker-compose up # Starta tjänster definierade i docker-compose.yml
docker-compose up -d # Starta tjänster i bakgrundsläge
docker-compose down # Stoppa och ta bort tjänster
docker-compose ps # Lista körande tjänster
docker-compose logs # Visa loggar för tjänster
docker-compose start # Starta tjänster
docker-compose stop # Stoppa tjänster
docker-compose pause # Pausa tjänster
docker-compose unpause # Avpausa tjänster
Dockerfile-kommandon
Bygg bild från Dockerfile
docker build -t <image-name> <Dockerfile-path> # Bygg en bild från ett Dockerfile
Exempel Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Säkerhet och hemligheter
Docker hemligheter
docker secret create <secret-name> <file> # Skapa en hemlighet
docker secret ls # Lista alla hemligheter
docker secret rm <secret-name> # Ta bort en hemlighet
Docker säkerhet
- Använd Docker hemligheter för att centralt hantera känslig data och säkert överföra den till containrar.
- Hemligheter krypteras under överföring och i vila i ett Docker-swarm.
Rensning
Ta bort obrukade resurser
docker system prune # Ta bort obrukad data (bilder, containrar, nätverk, volymer)
docker image prune # Ta bort obrukade bilder
docker container prune # Ta bort obrukade containrar
docker network prune # Ta bort obrukade nätverk
docker volume prune # Ta bort obrukade volymer
Ta bort omärkta bilder
Ibland efter en stor kompilering kan du se något så här från docker images-kommandot:

för att ta bort dessa bilder med
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
det ovanstående är gammalt och inkompatibelt. dangling=true-parameter är föråldrad. Använd
docker system prune
det kommer att fråga:
WARNING! Detta kommer att ta bort:
- alla stoppade containrar
- alla volymer som inte används av minst en container
- alla nätverk som inte används av minst en container
- alla lösa bilder
Du kanske bestämmer dig för att säga Ja till detta varning…
Den här snabbguiden täcker de grundläggande kommandona och koncepten som behövs för att hantera Docker-containrar, bilder, nätverk, volymer och mer. För en djupare förståelse, hänvisa till de detaljerade guider och tutorialer som finns online.