Schlagwort-Archive: Fedora

Docker unter CentOS 8 und Fedora 31 installieren

Seit Red Hat auf seine eigene Docker-Lösung Podman setzt, ist die Verwendung von Docker unter CentOS und Fedora zunehmend mühsamer geworden. Man könnte fast den Eindruck gewinnen, Red Hat will Docker das Leben so schwer wie möglich machen …

Wie dem auch sei: Hier finden Sie eine Anleitung, wie Sie die originalen Docker-Pakete unter Fedora 31 bzw. CentOS 8 installieren und einrichten.

Docker unter Fedora 31 installieren

Wie unter Fedora 31 erläutert, verwendet Fedora 31 als erste »große« Distribution standardmäßig cgroups2. An sich ist das eine gute Sache, allerdings sind die meisten marktüblichen Container-Systeme noch nicht cgroups2 kompatibel. Sie müssen also cgroups1 reaktivieren. (Diese und alle weiteren Kommandos sind mit root-Rechten auszuführen.)

grub2-editenv - set "$(grub2-editenv - list | grep kernelopts) systemd.unified_cgroup_hierarchy=0"
reboot

Falls Sie die Moby-Engine installiert haben, müssen Sie diese entfernen:

dnf remove moby-engine

Anschließend richten Sie die Docker-Paketquelle für Fedora ein und installieren mit docker-ce auch die abhängigen Pakete docker-ce-cli und containerd.io.

dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
dnf install docker-ce 
systemctl enable --now docker    # Docker-Dämon starten

Das Kommando docker verrät, dass die Version 19.03 installiert ist:

docker version
  Client: Docker Engine - Community
     Version:         19.03.4
  Server: Docker Engine - Community
    Engine:
    Version:          19.03.4
  ...

Docker unter CentOS 8 installieren

RHEL 8 und CentOS 8 verwenden (noch?) das cgroups1-Framework; diesbezüglich sind also keine Änderungen erforderlich. Sie können also gleich damit beginnen, die Docker-Paketquelle einzurichten:

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Der Versuch, nun wie unter Fedora einfach docker-ce zu installieren, scheitert aber mit einer Fehlermeldung. docker-ce setzt eine aktuelle Version des Pakets containerd.io voraus. Dieses Paket existiert in den Paketquellen, aber yum weigert sich aus unerfindlichen Gründen, es zu verwenden.

Die Installation gelingt über Umwege aber doch. Dazu werfen Sie zuerst einen Blick in die Paketquelle:

https://download.docker.com/linux/centos/7/x86_64/stable/Packages

Dort suchen Sie nach der aktuellsten verfügbaren Version des containerd.io-Pakets. Im November 2019 war das die Version 1.2.10. Diese Version installieren Sie nun, indem an yum explizit die Adresse des Pakets in der Paketquelle übergeben.

yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm

In der Folge klappt nun die Installation der restlichen Pakete und die Aktivierung des Docker-Dämons:

yum install docker-ce
systemctl enable --now docker

Damit steht dieselbe Docker-Version wie unter Fedora zur Verfügung:

docker version
  Client: Docker Engine - Community
     Version:         19.03.4
  Server: Docker Engine - Community
    Engine:
    Version:          19.03.4
  ...

Benutzer zur docker-Gruppe hinzufügen (gilt für CentOS + Fedora)

Das Kommando docker erfordert normalerweise root-Rechte. Um das ständige Voranstellen von sudo zu vermeiden, sollten Sie Ihren gewöhnlichen Arbeits-Account zur docker-Gruppe hinzufügen. (Alle Mitglieder der docker-Gruppe können das Kommando docker auch ohne sudo ausführen.)

usermod -aG docker <accountname>

Die Änderung wird erst nach einem neuerlichen Login wirksam.

Beachten Sie, dass diese scheinbar harmlose Gruppenzuordnung zwar viel Arbeitskomfort gibt und entsprechend beliebt ist, aber gleichzeitig auch ein großes Sicherheitsrisiko darstellen kann. Indirekt geben Sie dem betroffenen Account damit Root-Rechte! Warum das so ist, erläutert die Docker-Dokumentation. Auf einem Entwicklungsrechner, auf dem Sie ohnedies sudo-Rechte haben, ist die Einstellung OK. Auf einem Produktivsystem ist das usermod-Kommando eher nicht zu empfehlen.

Firewall-Probleme (gilt für CentOS + Fedora)

Grundsätzlich können Sie Docker jetzt verwenden — aber es besteht noch ein großes Problem: In den Docker-Containern funktioniert der Internet-Zugang nicht. Genaugenommen ist nur der Nameserver-Zugriff blockiert, aber das ist schlimm genug. Im Web finden Sie diverse Lösungswege zur Behebung des Problems, von der kompletten Deaktivierung von firewalld bis hin zu Ausnahmeregeln für die vom Docker-Dämon verwendete Netzwerkschnittstelle docker0 (siehe auch die Links am Ende des Artikels). Sicherheitstechnisch am vernünftigsten erscheint es, für das aktive Firewall-Profil (unter Fedora normalerweise FedoraWorkstation, unter CentOS normalerweise public nur das Masquerading zu aktivieren. Dazu finden Sie zuerst den Profilnamen heraus, wobei Sie anstelle von enp1s0 den Namen Ihrer Netzwerkschnittstelle zum Internet angeben.

firewall-cmd --get-zone-of-interface=enp1s0
   FedoraWorkstation

firewall-cmd --zone=FedoraWorkstation --add-masquerade --permanent
firewall-cmd --reload

Um den Docker-Netzwerkzugang zu testen, richten Sie einen Container von Alpine Linux ein und führen darin ping mit irgendeiner bekannten Adresse aus:

docker run --rm -it alpine:latest /bin/sh
/ # ping google.de
PING google.de (172.217.22.67): 56 data bytes
64 bytes from 172.217.22.67: seq=0 ttl=53 time=25.920 ms
64 bytes from 172.217.22.67: seq=1 ttl=53 time=26.283 ms
^C
--- google.de ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 25.920/26.101/26.283 ms
/ # exit

Leider ist das nicht das einzige Firewall-Problem. Jeder Docker-Container kann in einer an sich
geschlossenen Firewall den Schutz für einzelne Ports »aufreißen« (siehe dieses github-Issue). Das liegt daran, dass das Firewall-Systeme von Fedora/CentOS/RHEL nicht mit Docker koordiniert ist. Ähnliche Probleme können auch bei anderen Linux-Distributionen auftreten, die eine Firewall aktivieren. Eine unmittelbare Lösung dafür gibt es nicht.

Quellen

Zur Firewall-Problematik:

Fedora 30

Fedora 30 ist eine beinahe schon langweilig robuste, stabile und (fast) pünktliche Ausgabe der »Cutting-Edge«-Distribution aus dem Red-Hat-Lager. Möglicherweise sind die Red-Hat-Mitarbeiter momentan so stark mit RHEL 8 beschäftigt, dass die üblichen Experimente und Revolutionen in Fedora diesmal ausgeblieben sind. Selbst das Hintergrundbild war schon einmal origineller …

Fedora 30 mit einem eher faden Hintergrundbild

Fedora 30 weiterlesen

Java 11, JavaFX, IntelliJ IDEA und Linux

Die Überschrift sagt schon alles: In diesem Beitrag geht es darum, Programme mit Java 11 und JavaFX in der IntelliJ IDEA unter Linux zu entwickeln. Als Testumgebung dienten Ubuntu 18.10 und Fedora 29. (Unter Ubuntu 18.04 stehen noch immer keine offiziellen Java-11-Pakete zur Verfügung.)

Die IntelliJ IDEA mit einem Java-11-Projekt samt JavaFX unter Ubuntu 18.10

Java 11, JavaFX, IntelliJ IDEA und Linux weiterlesen

Fedora 29

Fedora 29 bietet im Vergleich zur Vorgängerversion die üblichen Software-Updates, aber nur wenige tiefgreifende Neuerungen:

  • Der Bootprozess sollte nun auf manchen Rechnern vollkommen ohne Bildschirmflackern verlaufen. Das setzt aktuell allerdings voraus, dass UEFI sowie ein Intel-Grafiksystem genutzt wird, siehe auch Announcing flickerfree boot for Fedora 29.

  • Das in Version 28 für Fedora Server eingeführte Modularity-Prinzip steht nun standardmäßig auch in der Desktop-Variante zur Verfügung. (Wie ich in meinem Blog-Beitrag zu Fedora 28 berichtet habe, konnten modularisierte Pakete mit dnf install fedora-repos-modular auch schon in der Desktop-Version 28 genutzt werden. Dass dieses Paket nun standardmäßig installiert ist, ändert nichts daran, dass das Angebot an modularisierten Paketen weiterhin sehr klein ist. Der praktische Nutzen dieses Konzepts ist für Fedora ohnedies gering, weil die Distribution eine kurze Lebensdauer hat. Wirklich spannend werden modularisierte Pakete wohl erst in RHEL 8 bzw. CentOS 8.)

Fedora 29 weiterlesen

Fedora 27

Mit der mittlerweile üblichen Verspätung wurde vorige Woche Fedora 27 fertig. Wie üblich bietet Fedora die optimale Spielwiese für Linux-Fan, die Software in der jeweils neuesten Version ausprobieren möchten. Abgesehen von den Neuerungen, die sich durch den Wechsel auf Gnome 3.26 ergeben (z.B. neues Konfigurationsprogramm), gibt es bei der Desktop-Version aber kaum fundamentale Änderungen.

Fedora 27 weiterlesen

Fedora 26 und Wayland

Mit der üblichen Verspätung ist Fedora 26 vor einigen Tagen fertig geworden. Fedora zählt seit Jahren zu meinen Lieblingsdistributionen, vor allem deswegen, weil sich damit neue Linux-Features frühzeitig ausprobieren lassen. So hatte ich auch Fedora 26 schon seit der Alpha-Version im Einsatz — und das weitgehend ohne Probleme. Dieser Artikel gibt eine Kurzvorstellung von Fedora 26 und setzt den Schwerpunkt auf Wayland.

[Update 17.7.: Fedora verwendet Wayland schon seit Version 25 standardmäßig, wie ich ja schon selbst berichtet habe. In der ersten Version dieses Texts hatte ich geschrieben, dies sei erst mit Version 26 der Fall. Ich habe den Text nach einem Leserhinweis korrigiert.]

Standardmäßig kommt Wayland zum Einsatz, der X Window Server wird aber weiterhin als Option beim Login angeboten

Fedora 26 und Wayland weiterlesen

Fedora 25

Seit 2013 sprechen die Fedora- und Ubuntu-Entwickler davon, das X Window System durch einen neuen Anzeige-Server zu ersetzen. Fedora favorisiert das distributionsübergreifende Wayland-Projekt, Ubuntu dagegen die Eigenentwicklung Mir.

Es hat zwar länger gedauert als erwartet, aber Fedora hat das Rennen auf jeden Fall gewonnen: Fedora 25 verwendet standardmäßig Wayland, sofern die Grafiktreiber mitspielen, andernfalls automatisch das immer noch vorhandene X Window System. Die meisten Anwender werden den Umstieg freilich gar nichts bemerken, weder in positiver noch in negativer Hinsicht. Die Vorteile des Abschieds vom X Window System sind eher technischer Natur und werden wohl erst in ein paar Jahren deutlich spürbar sein, wenn auch der Desktop und seine Anwendungsprogramme für Wayland optimiert sind.

Fedora 25 mit Gnome-Desktop
Fedora 25 mit Gnome-Desktop

Fedora 25 weiterlesen

Fedora 23

Fedora 23 ist fertig, und das mit nur einer Woche Verspätung! Aus beruflichen Gründen ist ist Fedora 23 auf meinen Rechnern und in diversen virtuellen Maschinen aber schon seit Monaten im Einsatz — genaugenommen seit der Freigabe der ersten Alpha-Version. Der Grund: Keine andere Distribution eignet sich so gut wie Fedora, wenn es darum geht, aktuellen Entwicklungen von Linux auszuprobieren. Bemerkenswert war dabei, dass ich eigentlich zu keinem Zeitpunkt irgendwelche Stabilitätsprobleme hatte.

Fedora 23 weiterlesen