ubuntuusers.de

Docker

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Docker.

Matthias Team-Icon

Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1277

Wohnort: Deutschland

Ich war verwundert, dass es den Artikel noch nicht gab, da Docker doch eine hohe Bekanntheit hat. Anhand von zwei Ubuntu(Users) spezifischen Beispielen versuche ich anfängerfreundlich zu erklären. Hoffe es ist einigermaßen gelungen.

andreasK

Avatar von andreasK

Anmeldungsdatum:
13. Dezember 2006

Beiträge: 384

Wohnort: Köln

Schön, dass Du diesen Artikel hier einstellst. Docker ist tatsächlich wichtig. Mich wundert, dass die Dockerumgebung aus den Paketquellen nicht funktioniert. Unter https://docs.docker.com/engine/install/ubuntu/#uninstall-old-versions wird ja ausdrücklich darauf hingewiesen, dass inoffizielle Pakete aus Distributionen Konflikte mit offiziellen Docker-Paketen verursachen können. Ich nutze Docker daher bereits seit Jahren aus offiziellen Dockerquellen und nicht aus den Ubuntu-Paketen. Ich frage mich, wozu diese Pakete überhaupt in der Distro sind. Folgende Übersetzung aus vorgenannter Quelle könnte Deinem Text vorangestellt werden:

Die Ubuntu-Distribution stellt inoffizielle Docker-Pakete bereit, die mit den offiziellen Paketen von Docker in Konflikt geraten können. Sie müssen ggf. vor Installation der offiziellen Version von Docker Engine deinstalliert werden.

Die inoffiziellen Pakete, die deinstalliert werden müssen, sind:

docker.io docker-compose docker-compose-v2 docker-doc podman-docker

Außerdem hängt Docker Engine von containerd und runc ab. Docker Engine bündelt diese Abhängigkeiten in einem Paket: containerd.io. Wenn Du containerd oder runc zuvor installiert hast, dann deinstalliere sie, um Konflikte mit den Versionen zu vermeiden, die mit Docker Engine verbunden sind.

Führe den folgenden Befehl aus, um alle in Konflikt stehenden Pakete zu deinstallieren:

1
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Matthias Team-Icon

(Themenstarter)
Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1277

Wohnort: Deutschland

Das war mir im Detail so gar nicht klar. Füge das gerne selber dem Artikel hinzu, damit du auch als Autor geführt wirst.

andreasK

Avatar von andreasK

Anmeldungsdatum:
13. Dezember 2006

Beiträge: 384

Wohnort: Köln

Matthias schrieb:

Das war mir im Detail so gar nicht klar. Füge das gerne selber dem Artikel hinzu, damit du auch als Autor geführt wirst.

OK, habe ich gemacht. Ich installiere außerdem immer auch die Pakete docker-ce-cli docker-buildx-plugin docker-compose-plugin mit; so beschreibe ich es in meinem Tutorial: (https://tutorials.kernke.koeln/serveranwendungen/docker.html.

Damit bin ich dann für alle Anwendungsfälle (z.B. Vaultwarden oder Paperless NGX) gut aufgestellt.

andreasK

Avatar von andreasK

Anmeldungsdatum:
13. Dezember 2006

Beiträge: 384

Wohnort: Köln

Übrigens ist kein Neustart des Rechners erforderlich. Docker läuft sofort. Damit die Rechteänderung für den Standarduser greift, ist höchstens einmal abmelden und neu anmelden erforderlich.

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1514

Wohnort: Bad Oeynhausen

Nach langer Liegezeit hat es der Artikel nun endlich ins Wiki geschafft. Inhaltlich ist er noch ein wenig dünn, aber das lässt sich ja mit der Zeit bestimmt ausbauen. Vielen Dank!

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4783

Ein Helfer Skript, um das Docker.com Repository bequem im DEB822 Format mit integrierten ASCII armierten Sicherheitsschlüssel zu den APT Quellen hinzuzufügen, für Noble Numbat, Oracular Oriole und Plucky Puffin:

#!/usr/bin/env bash

#-----------------------------------------------------------
# Ubuntu 24.04, 24.10 and 25.04 DEB822 little helper script
# Docker apt repository
#-----------------------------------------------------------

RELEASE_VERSION=$(lsb_release -cs 2>/dev/null)
printf "\n \033[45m\033[1;36m==> Running on $RELEASE_VERSION \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
[ $RELEASE_VERSION = noble ] || [ $RELEASE_VERSION = oracular ] || [ $RELEASE_VERSION = plucky ] && echo "$RELEASE_VERSION good." || \
printf "\n \033[41m\033[1;36m==> Sorry, not for $RELEASE_VERSION.\033[0m \n \n" && \
[ $RELEASE_VERSION = noble ] || [ $RELEASE_VERSION = oracular ] || [ $RELEASE_VERSION = plucky ] || exit 1
printf "\n \033[45m\033[1;36m==> Test sudo. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
sudo echo "sudo Test, OK." && \
printf "\n \033[45m\033[1;36m==> Make docker.sources entry. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
echo "X-Repolib-Name: docker-apt-repository
Enabled: yes
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $RELEASE_VERSION
Components: stable
Architectures: amd64
Signed-By:
$(wget -O- https://download.docker.com/linux/ubuntu/gpg  | \
sed -e 's/^$/./' -e 's/^/ /')" | \
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null && \
printf "\n \033[45m\033[1;36m==> Set APT-Pinning. \033[0m\033[42m\033[1;36m  ==> ... \033[0m \n \n" && \
echo "Docker Package Priority:"
echo '
Package: *
Pin: origin download.docker.com
Pin-Priority: 1200
' | sudo tee /etc/apt/preferences.d/docker && \
printf "\n \033[45m\033[1;36m==> Docker apt repository active now. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
printf "\n \033[41m\033[1;36m==> Sorry something failed.\033[0m \n \n"

printf "\n \033[43m\033[1;36m==> Docker apt repository REMOVE?  \033[0m\033[41m\033[1;36m  ==> ?  \033[0m \n" && \
echo "" && \
echo "Only if you realy like to remove, type ==> Yes <== for confirmation." && \
read -e -p "
[y/N] " YN
[[ $YN == "Yes" ]] && \
sudo rm -v /etc/apt/sources.list.d/docker.sources && \
sudo rm -v /etc/apt/preferences.d/docker && \
printf "\n \033[45m\033[1;36m==> Docker apt repository removed. \033[0m\033[42m\033[1;36m  ==> Done.\033[0m \n \n" || \
echo "" && \
[ -f /etc/apt/sources.list.d/docker.sources ] && \
echo "Not removed.

Speichern als:

docker-apt-repository-install-helper.sh

Ausführbar machen:

chomd +x docker-apt-repository-install-helper.sh

Und ausführen:

./docker-apt-repository-install-helper.sh

Wenn man auf die Abfrage, ob das Docker APT Repository entfernt werden soll, "Yes" eingibt, entfernt es auch die Einträge für das Docker.com Repository wieder.

Ruth-Wies

Avatar von Ruth-Wies

Anmeldungsdatum:
12. April 2023

Beiträge: 320

Wohnort: im Exil ;(

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 

Warum diese Schleife? Dadurch wird apt für jedes Paket extra angesteuert, obwohl das in einem Aufwasch ginge:

sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc 

Matthias Team-Icon

(Themenstarter)
Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1277

Wohnort: Deutschland

Stimmt, die Schleife ist unnötig. Habe ich entfernt.

Antworten |