Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
docker [2025/06/10 20:12] jango [Netzwerke] |
docker [2025/06/22 03:46] (aktuell) jango [Registry] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Docker ist eine Open-Source-Plattform zur [[container|Containerisierung]] von Anwendungen. Es ermöglicht | + | Docker ist eine Open-Source-Plattform zur [[container|Containerisierung]] von Anwendungen. Es ermöglicht |
- | Docker | + | Ursprünglich auf LXC basierend, nutzt Docker |
Siehe auch [[kubernetes|Kubernetes]]. | Siehe auch [[kubernetes|Kubernetes]]. | ||
Zeile 176: | Zeile 176: | ||
^Name^Beschreibung^ | ^Name^Beschreibung^ | ||
|none|todo| | |none|todo| | ||
- | |Host|Das Host-Netzwerkmodell verwendet das Netzwerk des Docker-Hosts direkt für die Container. Container, die das Host-Netzwerk verwenden, haben Zugriff auf alle Netzwerkressourcen des Hosts, einschließlich der Netzwerkschnittstellen und Ports. Dieses Modell bietet eine maximale Leistung, kann aber die Isolation zwischen Containern beeinträchtigen.| | + | |[[https:// |
- | |Bridge|Ein Bridge-Netzwerk ist das Standardnetzwerkmodell von Docker. Es erstellt ein isoliertes Netzwerk für Container auf dem Docker-Host und ermöglicht die Kommunikation zwischen Containern über einen gemeinsamen Bridge-Dienst. Bridge-Netzwerke sind standardmäßig in Docker aktiviert und bieten eine einfache Möglichkeit, | + | |[[https:// |
- | |Overlay|Overlay-Netzwerke werden verwendet, um Container über mehrere Docker-Hosts hinweg zu verbinden. Sie ermöglichen es Containern, über Host-Grenzen hinweg zu kommunizieren und eine skalierbare, | + | |[[https:// |
- | |MacVlan|Das macvlan Netzwerkmodell ermöglicht es Containern, eine eigene MAC-Adresse zu haben und direkt mit dem physikalischen Netzwerk zu kommunizieren. Jeder Container erhält eine eindeutige MAC-Adresse, | + | |[[https:// |
- | |IpVlan|Das ipvlan Netzwerkmodell ist ähnlich wie das macvlan Modell, jedoch auf IP-Ebene. Es ermöglicht es Containern, eigene IP-Adressen zu haben und direkt mit dem physikalischen Netzwerk zu kommunizieren. Jeder Container erhält eine eindeutige IP-Adresse, die von der des Hosts abweichen kann.| | + | |[[https:// |
Mit | Mit | ||
Zeile 217: | Zeile 217: | ||
Docker [[https:// | Docker [[https:// | ||
+ | |||
+ | ====Installer Script==== | ||
+ | Die einfachste Weise ist das Installer Script von der Docker Website. | ||
< | < | ||
Zeile 224: | Zeile 227: | ||
</ | </ | ||
- | ====Ubuntu==== | + | ====Ubuntu |
+ | |||
+ | Es gibt zwei verschiedene Paketquellen (Repositories) für Docker unter Ubuntu. Im offiziellen Ubuntu Repository ist das Paket docker.io erhältlich. Das ist aber oft veraltet und hinkt stark hinterher. Ausserdem wird es nicht direkt von Docker Inc. gepflegt und enthält nur Basis-Docker, | ||
< | < | ||
- | sudo apt install | + | sudo apt install docker.io |
- | curl -fsSL https:// | + | |
- | sudo add-apt-repository "deb [arch=amd64] https:// | + | |
- | sudo apt update | + | |
- | sudo apt install docker-ce | + | |
</ | </ | ||
- | < | + | ====Docker Repository==== |
- | # update packages | + | |
- | sudo apt-get update | + | |
+ | Dann gibt es noch das offizielle Docker Repository docker-ce (Community Edition). Dieses muss man manuell einbinden (GPG-Key, APT-Repo). Es wird allerdings von Docker inc. selbst gepflegt, ist immer die aktuellste Version und alle Plugins bekommt man auch. | ||
+ | |||
+ | < | ||
# add pgp key for signed docker repository | # add pgp key for signed docker repository | ||
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common | sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common | ||
Zeile 251: | Zeile 253: | ||
</ | </ | ||
- | ====WSL2==== | ||
- | < | ||
- | # Install Docker | ||
- | curl -fsSL https:// | ||
- | sudo sh get-docker.sh | ||
- | |||
- | sudo usermod -aG docker $USER | ||
- | |||
- | # Install Docker Compose v2 | ||
- | sudo apt-get update && sudo apt-get install docker-compose-plugin | ||
- | |||
- | # Sanity check that both tools were installed successfully | ||
- | docker --version | ||
- | docker compose version | ||
- | |||
- | # Using Ubuntu 22.04 or Debian 10 / 11? You need to do 1 extra step for iptables | ||
- | # compatibility, | ||
- | sudo update-alternatives --config iptables | ||
- | </ | ||
=====Docker Daemon===== | =====Docker Daemon===== | ||
Zeile 291: | Zeile 274: | ||
</ | </ | ||
+ | =====Registry===== | ||
+ | |||
+ | Run a local registry: Quick Version | ||
+ | |||
+ | < | ||
+ | docker run -d -p 5000:5000 --restart always --name registry registry:2 | ||
+ | </ | ||
+ | |||
+ | Now, use it from within Docker: | ||
+ | |||
+ | < | ||
+ | docker pull ubuntu | ||
+ | docker tag ubuntu localhost: | ||
+ | docker push localhost: | ||
+ | </ | ||
+ | See also [[https:// | ||
=====Usage===== | =====Usage===== | ||