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:

docker logo

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:

många omärkta bilder

för att ta bort dessa bilder med -märkningar:

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.

Användbara länkar