Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:docker:installdocker

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
thoschwiki:docker:installdocker [17.04.2021 12:12]
thosch [Quellen] 'docker docs: Install Docker Engine' ergänzt
thoschwiki:docker:installdocker [05.02.2023 17:43] (aktuell)
thosch [Quellen] Link auf 'Install Docker Engine on Debian' ergänzt
Zeile 1: Zeile 1:
 ====== Docker installieren ====== ====== Docker installieren ======
  
-<note>Die Seite befindet sich noch im Aufbau. Es fehlen insbesondere noch Ausführungen zur manuellen Installation ohne Verwendung des //Convinience Scriptes//.</note>+Für die Verwendung unter **//macOS//** oder **//Windows//** gibt es den sogenannten **//[[https://docs.docker.com/engine/install/#desktop|Docker Desktop]]//**, der jeweils alle Komponenten enthält. Unter **//Linux//** erfolgt die Installation über den jeweiligen **Paketmanager**. 
 + 
 + 
 +===== Installation unter Linux =====
  
 Die Repositories der meisten Linux-Distributionen dürften //Docker//-Pakete enthalten, nur sind diese <del>nicht mehr ganz taufrisch</del> hoffnungslos veraltet. Daher sollte man das Repository auf //download.docker.com// einbinden und das jeweils neueste Paket ''docker-ce'' aus diesem Repository installieren. Die Repositories der meisten Linux-Distributionen dürften //Docker//-Pakete enthalten, nur sind diese <del>nicht mehr ganz taufrisch</del> hoffnungslos veraltet. Daher sollte man das Repository auf //download.docker.com// einbinden und das jeweils neueste Paket ''docker-ce'' aus diesem Repository installieren.
 +
 +Hierfür gibt es zwei Wege:
 +  - manuelle Installation
 +  - automatisierte Installation mit dem //Covenience-Script//
 +
 +<note important>
 +Laut [[https://docs.docker.com/engine/install/debian/|Docker-Dokumentation]] ist unter **//Raspbian//** die Installation nur mit dem //Convinience-Script// möglich.((Eine Aussage zu //Raspberry OS// findet sich leider nicht. Ich würde davon ausgehen, dass hier das Gleiche gilt.))
 +</note>
 +==== Manuelle Installation ====
 +
 +Die manuelle Installation umfasst die üblichen Schritte, die für eine Installation aus Fremdquellen notwendig sind:
 +  - ggf. vorhandene Version aus den Distributionsquelle deinstallieren (meist nicht nötig((ggf. einfach mal ''docker'' aufrufen)))
 +  - Pakete installieren, die für die Nutzung von ''apt'' mit //https// notwendig sind (meist bereits erfüllt)
 +  - GPG-Key von //Docker// einbinden
 +  - Repository einbinden
 +  - Installieren
 +
 +Das folgende Beispiel stellt die Installation unter **//Ubuntu//** dar. Für andere Distributionen sind bestimmte Parameter anzupassen. Für die einzelnen Distributionen gibt es Beschreibungen in der [[https://docs.docker.com/engine/install#server|Docker Dokumentation]].
 +
 +Ggf. vorhandene Version aus den Distributionsquelle deinstallieren:
 +
 +<code>
 +sudo apt remove docker docker-engine docker.io containerd runc
 +</code>
 +
 +Ggf. fehlende Pakete installieren, die für die Nutzung von ''apt'' mit //https// notwendig sind:
 +
 +<code>
 +sudo apt update
 +</code>
 +
 +<code>
 +sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
 +</code>
 +
 +GPG-Key von //Docker// einbinden:
 +
 +<code>
 +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
 +</code>
 +
 +Repository einbinden:
 +
 +<code>
 +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 +</code>
 +
 +//Docker// installieren:
 +
 +<code>
 +sudo apt update
 +</code>
 +
 +<code>
 +sudo apt install docker-ce docker-ce-cli containerd.io
 +</code>
 +
 +Nun sollte //Docker-CE// installiert sein.
 +
 +==== Installation mit Convinience-Script ====
  
 Neben der Möglickeit die einzelnen Schritte von Hand vorzunehmen, kann man auch das sogenannte //[[https://docs.docker.com/engine/install/centos/|Convenience Script]]// benutzen, das abhängig von der verwendeten Distribution sämtliche Schritte automatisiert durchführt. Neben der Möglickeit die einzelnen Schritte von Hand vorzunehmen, kann man auch das sogenannte //[[https://docs.docker.com/engine/install/centos/|Convenience Script]]// benutzen, das abhängig von der verwendeten Distribution sämtliche Schritte automatisiert durchführt.
Zeile 80: Zeile 143:
 </code> </code>
  
-===== Anpassen der Rechte (optional) =====+===== weitere Anpassungen unter Linux ===== 
 + 
 + 
 +==== Anpassen der Rechte (optional) ====
  
 Der Befehl ''docker'' kann nur von Mitgliedern der Gruppe ''docker'' oder mit Administratorrechten (z.B. per ''sudo'') aufgerufen werden. Um auf die Verwendung von ''sudo'' verzichten zu können, kann man den jeweiligen Benutzer in die Gruppe ''docker'' aufnehmen: Der Befehl ''docker'' kann nur von Mitgliedern der Gruppe ''docker'' oder mit Administratorrechten (z.B. per ''sudo'') aufgerufen werden. Um auf die Verwendung von ''sudo'' verzichten zu können, kann man den jeweiligen Benutzer in die Gruppe ''docker'' aufnehmen:
Zeile 94: Zeile 160:
 </note> </note>
  
-===== docker-compose installieren =====+==== Docker Compose installieren ====
  
-Auch bei der Installation von ''docker-compose'' muss man sich entscheiden, über welchen Weg man die Installation vornimmt. In den Repositories findet sich zumeist ein entsprechendes Paket, das jedoch nicht mehr ganz taufrisch ist. Über ''pip3'' kann man eine aktuellere Version installieren. Bei diesem Installationsweg muss bei Updates daran denken, dass man mit ''pip3 Install --upgrade docker-compose'' das Aktualisieren manuell anstoßen muss.+Seit April 2022 ist //Docker Compose// in //Docker// integriert((Ankündigung //[[https://www.docker.com/blog/announcing-compose-v2-general-availability/|Announcing Compose V2 General Availability]]//)). Damit löst auf der Commandline ''docker compose'' (jetzt ohne Bindestrich) als Subcommand von ''docker'' das bisherige ''docker-compose'' (mit Bindestrich) ab.
  
-^ Raspbian Buster (25.09.2020) ^^ +Sofern ''docker compose'' nicht zusammen mit //Docker// installiert wurde, kann es mit dem Paket //docker-compose-plugin// (und dessen Abhängigkeiten) installiert werden.
-^ Installationsweg ^ verfügbare Version ^ +
-| Repository | 1.21.0-3 | +
-''pip3 Install --upgrade docker-compose'' | 1.27.4 |+
  
 +<code>
 +sudo apt install docker-compose-plugin
 +</code>
  
 +Sofern zuvor ''docker-compose'' als Python-Paket installiert wurde, kann es wie folgt entfernt werden:
  
 +<code>
 +sudo pip3 uninstall docker-compose
 +</code>
  
 +===== Test der Installation =====
  
-Zunächst sind die notwendigen Pakete zu installieren:+Nachdem //Docker CE// oder der //Docker desktop// installiert ist, ist der Zeitpunkt für einen ersten Test gekommen. 
 + 
 +Zunächst ein Blick, ob ''docker'' "funktioniert":
  
 <code> <code>
-sudo apt-get install -y libffi-dev libssl-dev +sudo docker version
-sudo apt-get install -y python3 python3-pip +
-sudo apt-get remove python-configparser+
 </code> </code>
  
-Das Entfernen von ''python-configparser'' ging bei mir ins Leere, weil dieses Paket nicht installiert war.+Es sollte eine Aufstellung mit Versionsinformationen erfolgen.
  
-Danach wird ''docker-compose'' mit ''pip3'' installiert:+Wenn der Aufruf ''docker version'' erfolgreich verlaufen ist, kann man den //hello-world//-Container starten:
  
 <code> <code>
-sudo pip3 -v install docker-compose+sudo docker run hello-world
 </code> </code>
  
 +Zunächst sollte der //Docker// selbständig das entsprechende Image laden und dann der Container starten, der den folgenden Ausgibt.
 +
 +<code>
 +Hello from Docker!
 +This message shows that your installation appears to be working correctly.
 +
 +To generate this message, Docker took the following steps:
 + 1. The Docker client contacted the Docker daemon.
 + 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 +    (amd64)
 + 3. The Docker daemon created a new container from that image which runs the
 +    executable that produces the output you are currently reading.
 + 4. The Docker daemon streamed that output to the Docker client, which sent it
 +    to your terminal.
 +
 +To try something more ambitious, you can run an Ubuntu container with:
 + $ docker run -it ubuntu bash
 +
 +Share images, automate workflows, and more with a free Docker ID:
 + https://hub.docker.com/
 +
 +For more examples and ideas, visit:
 + https://docs.docker.com/get-started/Hello from Docker!
 +</code>
  
 +<note>Die unter 2. ausgegebene Prozessorarchitektur (hier ''amd64'') hängt von der eigenen Hardware ab.</note>
  
 +<note tip>Sofern man wie oben beschrieben [[thoschwiki:docker:installdocker#anpassen_der_rechte_optional|die Rechte des eigenen Nutzer angepasst hat]], sollte man die obigen Behle (zusätzlich) ohne ''sudo'' testen.</note>
  
 ===== Quellen ===== ===== Quellen =====
Zeile 131: Zeile 228:
 Quelle: Quelle:
   * [[https://docs.docker.com/engine/install/|docker docs: Install Docker Engine]]   * [[https://docs.docker.com/engine/install/|docker docs: Install Docker Engine]]
 +  * [[https://docs.docker.com/engine/install/debian/|Install Docker Engine on Debian]]
   * [[https://dev.to/rohansawant/installing-docker-and-docker-compose-on-the-raspberry-pi-in-5-simple-steps-3mgl|Installing Docker and Docker Compose on the Raspberry Pi in 5 Simple Steps]]   * [[https://dev.to/rohansawant/installing-docker-and-docker-compose-on-the-raspberry-pi-in-5-simple-steps-3mgl|Installing Docker and Docker Compose on the Raspberry Pi in 5 Simple Steps]]
   * [[https://docs.docker.com/engine/security/|Docker security]]   * [[https://docs.docker.com/engine/security/|Docker security]]
  
  
thoschwiki/docker/installdocker.1618654331.txt.gz · Zuletzt geändert: 17.04.2021 12:12 von thosch