Docker

TODO:

Quellen:

Installieren

sudo pacman -S docker
docker --version
   Docker version 20.10.9, build c2ea9bc90b
sudo usermod -aG docker $USER
systemctl start docker

Dockerfiler

name: Dockerfile

#Dockerfile

FROM <image:name> # Baseimage
COPY <file-from-host> <file-in-docker>
RUN apk add curl nano # add packages (apk = alpine apt)

docker build -t <my-image-name> . –> # docker build -t meinname/webserver .

docker push

–> schiebe image in dockerhub docker push meinname/webserver

container start steuern übewachen

docker run (container starten)

docker run -p 8080:80 nginx:alpine 
docker run -p <localport>:<container-port> <image>
docker run -p <localport>:<container-port> <image> --name meinname
docker run -it erlang # -i interactive ; -t terminal
-v /home/pi/node_red_data:/data # localen ordner in images mappen
-v node_red_data:/data # locales volumen neu erstellen
docker volume ls # volumens anzeigen

docker ps

docker ps # alle laufenden container
docker container ls -a
docker ps -a
docker start <ID>/<meinname> #starten
docker stop <ID>/<meinname> #stopen
docker rm <ID>/<meinname> #löschen
docker logs <ID>/<meinname> #logs lesen
docker attach erlangtest #verbinden mit schon laufendem container
docker exec -it erlangtest bash # bash ausführen

docker compose

conf für mehrere von einander abhänigen Containern

docker-compose.yml

version: "3.8"
services:
  mein-webserver:
    image: nginx:alpine
    restart: always
    ports:
     - 8080:80

docker compose starten

docker compose up -d #-d = daemon
docker up
docker down

einsortieren:

Die wichtigsten Befehle > https://www.heise.de/ratgeber/Docker-fuer-Raspberry-Pi-installieren-5993881.html?seite=all

Befehl Funktion
docker run <Imagename> Image laden und Container starten
docker pull <Imagename> Image laden
docker ps -a Alle Container zeigen
docker image ls Alle Images zeigen
docker rm <Containername> Container löschen
docker exec -it <Containername> bashInteraktive Bash im Container starten
docker attach <Containername> Mit Prozess im Container verbinden
docker start <Containername> Container starten
docker stop <Containername> Container stoppen