Comment installer et configurer le moteur Docker-CE / Moby sur Fedora 32
- 2594
- 451
- Lucas Bernard
Même si Red Hat s'est développé podman et buildah, Ses propres outils pour travailler avec des conteneurs, qui sont livrés avec des avantages importants comme une architecture sans démon, vous voudrez peut-être continuer à utiliser le logiciel Docker d'origine sur Fedora. Dans ce tutoriel, nous explorerons les options que nous avons sur la dernière version de la distribution pour le faire, et verrons comment appliquer les correctifs nécessaires pour que Docker fonctionne correctement.
Dans ce tutoriel, vous apprendrez:
- Comment installer Moby-Enchin
- Comment installer Docker-Ce
- Comment appliquer les solutions de contournement nécessaires pour faire fonctionner correctement Docker sur Fedora 32
Exigences et conventions logicielles utilisées
Catégorie | Exigences, conventions ou version logicielle utilisée |
---|---|
Système | Fedora 32 |
Logiciel | Aucun logiciel spécifique n'est nécessaire pour suivre ce tutoriel |
Autre | Permissions racinaires pour effectuer des tâches administratives |
Conventions | # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier |
Moby-ingine vs docker-ce
Il existe deux façons d'obtenir Docker sur Fedora 32: nous pouvons installer le package «Docker» à partir des référentiels de distribution officiels, ou ajouter le docker-ce ceux et installez les packages nécessaires à partir de là. Si nous choisissons la première option, la moby-ingénie
le package sera installé sur notre distribution au lieu de la réelle docker
libérer. Si nous choisissons le deuxième, nous obtiendrons la dernière version de l'édition communautaire du «Official» moteur à moteur
.
Quelle est la différence entre les deux? «Moby» est un projet open-source «en amont» créé par Docker afin de distribuer et de diviser sa base de code en plusieurs composants. Le logiciel que nous obtenons moby-ingénie
directement à partir du référentiel officiel de Fedora est emballé par la distribution sur la base de ce projet Upsteam, tandis que docker-ce
(et aussi docker-ee
- Enterprise Edition) est le produit créé par le docker
Projet sur la même base. Les deux sont libérés sous une licence open source et sont disponibles gratuitement.
Dans ce tutoriel, nous verrons comment effectuer l'installation de docker-ce
ou moby-ingénie
, Et nous verrons également comment appliquer les correctifs nécessaires pour que Docker fonctionne correctement sur la dernière version de Fedora.
Installation de Moby-Enchin à partir des référentiels officiels
Installation moby-ingénie
C'est le moyen le plus simple et le plus rapide de travailler avec des conteneurs en utilisant l'architecture Docker Client-Server sur la distribution. Tout ce que nous avons à faire est d'utiliser DNF, le Fedora Package Manager et exécutez la commande suivante:
$ sudo dnf installer docker Dernier chèque d'expiration des métadonnées: 1:38:14 il y a le soleil 03 mai 2020 02:22:22 PM CEST. Les dépendances résolues. ==============================================. ============================= Pack ==============================================. =============== Installation: Moby-Engine x86_64 19.03.8-1.CE.gitafacb8b.FC32 Fedora 51 M Installation des dépendances: conteneur-Sélinux Noarch 2: 2.132.0-1.FC32 Mises à jour 48 K Containerd x86_64 1.3.3-1.FC32 MISE À JOUR 32 M LIBBSD X86_64 0.dix.0-2.FC32 Fedora 106 K Libnet x86_64 1.1.6-19.FC32 Fedora 64 K Runc x86_64 2: 1.0.0-144.dev.gite6555cc.FC32 Fedora 2.7 m Installation de dépendances faibles: CRI x86_64 3.13-5.FC32 Fedora 492 K Résumé des transactions ======================================================================================= ================================. Est-ce OK [O / N]:
Comme vous pouvez le voir, même si nous avons spécifié docker
comme package, le moby-ingénie
version 19.03.8-1.CE.gitafacb8b.FC32
sera réellement installé, avec ses dépendances.
Installation de Docker-Ce
Docker Community Edition (CE) est la version «officielle» Docker, qui, comme nous l'avons déjà dit, est basée sur le moby-project. L'installation sur Fedora 32 nécessite plus d'étapes. Si vous avez précédemment installé la version de Docker disponible dans les référentiels Fedora (Moby-Engine), assurez-vous de le désinstaller en exécutant la commande suivante:
$ sudo dnf AutoreMove docker
Si vous avez déjà construit des images ou créés de conteneurs ou de volumes, ne vous inquiétez pas: le sera conservé.
Une fois que nous sommes sûrs que les packages installés précédemment sont supprimés de notre système, nous pouvons ajouter le docker-ce Référentiel de nos sources de logiciels de distribution, nous pouvons donc rester à jour avec les futures versions. La première chose que nous devons faire est de télécharger le docker-ce.repo
déposer:
$ curl -o https: // télécharger.docker.com / linux / fedora / docker-ce.repo
Si nous ouvrons le fichier avec notre éditeur de texte préféré, nous pouvons voir que la section relative à docker-ge-stable
est marqué comme activé:
[docker-cce-stable] name = docker ce stable - $ basearch basiseurl = https: // download.docker.com / linux / fedora / $ releasever / $ basearch / stable activé = 1 gpgcheck = 1 gpgkey = https: // download.docker.com / linux / fedora / gpg
Lorsque DNF analyse le .repo
fichier, le $ libéré
La variable est étendue, comme son nom l'indique, à la version de version de distribution, dans ce cas 32
. Depuis au moment de la rédaction, il n'y a pas de référentiel Docker-CE explicitement dédié à Fedora 32, nous devons remplacer cette variable par une valeur statique, 31
, la version précédente de Fedora. Nous pouvons facilement effectuer le changement en utilisant le sed
commande:
# Assurez-vous d'utiliser des devis uniques! $ sed -i's / $ releasever / 31 / g 'docker-c.repo
Avec la commande ci-dessus, nous avons substitué chaque occurrence de $ libéré
dans le fichier avec 31
. Pour que la commande fonctionne correctement, le schéma de substitution doit être enfermé en citations uniques comme nous l'avons fait ci-dessus (ou le $
le caractère doit être échappé).
Comme vous pouvez le remarquer, seul le écurie
La branche du référentiel est activée par défaut (activé = 1
). Je vous suggère de le laisser de cette façon, sauf si vous avez une exigence spécifique.
Pour faire en sorte que DNF utilise le référentiel Docker-CE, nous devons déplacer le .repo
fichier à la / etc / yum.se soustraire.d
annuaire:
$ sudo mv docker-ge.repo / etc / yum.se soustraire.d/
À ce stade, nous pouvons émettre la commande suivante pour installer les packages Docker-Ce dont nous avons besoin:
$ sudo dnf installer docker-ce docker-cli contenerd.IO Docker CE Stable - x86_64 17 Ko / s | 8.9 kb 00:00 dépendances résolues. ==============================================. ==============================================. ===========================. ==============================================. ==============================================. =============== Installation: Containerd.io x86_64 1.2.13-3.1.FC31 Docker-Ce-stable 23 m Docker-CE x86_64 3:19.03.8-3.FC31 Docker-Ce-stable 23 m docker-ce-cli x86_64 1:19.03.8-3.FC31 Docker-CE-stable 39 M Installation des dépendances: conteneur-Sélinux Noarch 2: 2.132.0-1.FC32 Mises à jour 48 K Libcgroup x86_64 0.42.2-1.FC32 Fedora 68 K Résumé de la transaction ======================================================================================= ==============================================. ================================. Est-ce OK [O / N]:
Confirmez l'installation pour continuer. Vous serez également invité à accepter la touche GPG du référentiel nouvellement installé.
Démarrer le démon docker
Peu importe si nous avons installé docker-ce
du référentiel dédié ou du moby-ingénie
, Une fois les packages installés, pour travailler avec des conteneurs, nous devons démarrer le docker
démon, et éventuellement faire de sorte qu'il est automatiquement lancé au démarrage. Pour effectuer les deux opérations, nous pouvons utiliser le systemctl
commande et exécuter:
$ sudo systemctl activer --now docker
À ce stade, nous avons installé Docker-Ce ou Moby-Engine sur notre système, et le démon fonctionne. Il y a cependant quelques ajustements que nous devons effectuer pour que Docker fonctionne correctement sur notre distribution.
Activer la compatibilité vers l'arrière pour les CGROUPS
Depuis Fedora 31, la distribution parrainée par Red Hat est passée à Cgroup v2 (Groupes de contrôle) par défaut. CGroup est le mécanisme inclus dans le noyau Linux, utilisé pour organiser les processus hiérarchiquement et distribuer des ressources en conséquence. Docker ne prend pas encore en charge la version 2
de cgroups, donc nous devons le désactiver. Pour le faire, nous devons passer le systemd.Unified_cgroup_Hierarchy = 0
paramètre au noyau au démarrage. Avec les privilèges administratifs ouvrez le / etc / par défaut / grub
déposer. Il devrait avoir un contenu similaire à ceci:
Grub_timeout = 5 grub_distributor = "$ (sed 's, release .* $ ,, g '/ etc / système système) "grub_default = enregistré grub_disable_submenu = true grub_terminal_output =" console "grub_cmdline_linux =" rhgb sile
Dans le GRUB_CMDLINE_LINUX
Ligne, nous avons juste besoin d'ajouter le paramètre que nous avons mentionné ci-dessus, afin qu'il ressemble à cette façon:
Grub_cmdline_linux = "rhgb sile systemd.Unified_cgroup_Hierarchy = 0 "
Une fois terminé, enregistrez le fichier modifié et reconstruisez la configuration de Grub:
$ sudo grub2-mkconfig -o / boot / grub2 / grub.CFG
Pour rendre les modifications efficaces, nous devons redémarrer la machine.
Correction des DNS ne fonctionnant pas à l'intérieur de Docker
Essayons maintenant d'exécuter un conteneur très simple en fonction de l'officiel bustebox image. Nous l'utilisons pour exécuter un très simple ping-ping
commander www.Google.com
. C'est le résultat:
sudo docker run --rm -it busybox ping -c 3 www.Google.com ping: mauvaise adresse 'www.Google.com '
Comme vous pouvez le voir, une erreur est générée. Le ping-ping
La commande se plaint de www.Google.com étant une mauvaise adresse, mais cela se produit en fait parce que la résolution DNS ne fonctionne pas à l'intérieur du conteneur. Pourquoi cela se produit? Lorsque Docker s'exécute, il doit effectuer des ajustements de pare-feu et utiliser la mascarade IP. Ce comportement est bloqué par Firewalld, le gestionnaire de pare-feu par défaut installé sur Fedora. La façon la plus simple de résoudre le problème est d'ajouter explicitement docker0
interface au de confiance zone de pare-feu. Nous pouvons le faire via le pare-feu-CMD
utilitaire:
$ sudo Firewall-Cmd --permanent --zone = Trusted --Add-Interface = Docker0 && sudo Firewall-Cmd - Reload
À ce stade, si nous réessayons le ping-ping
Commande via le conteneur basé sur Busybox, il devrait fonctionner correctement:
$ sudo docker run --rm -it busybox ping -c 3 www.Google.com ping www.Google.com (216.58.198.36): 56 octets de données 64 octets de 216.58.198.36: seq = 0 ttl = 51 temps = 31.559 ms 64 octets de 216.58.198.36: SEQ = 1 TTL = 51 TEMPS = 30.417 ms 64 octets de 216.58.198.36: seq = 2 ttl = 51 temps = 30.154 ms --- www.Google.Statistiques de com ping --- 3 paquets transmis, 3 paquets reçus, 0% de paquet Perte aller-retour min / avg / max = 30.154/30.710/31.559 ms
Conclusions
Dans ce tutoriel, nous avons appris la différence entre moby-ingénie
et docker-ce
Et nous avons appris à les installer sur Fedora 32. Nous avons également vu comment appliquer les deux correctifs nécessaires pour exécuter correctement Docker sur la distribution. Après avoir lu cet article, vous devriez espérer avoir une configuration de travail.
Tutoriels Linux connexes:
- Choses à installer sur Ubuntu 20.04
- Installez Docker sur Almalinux
- Une introduction à l'automatisation Linux, des outils et des techniques
- Choses à installer sur Ubuntu 22.04
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Mint 20: Mieux que Ubuntu et Microsoft Windows?
- Masterring Bash Script Loops
- Comment installer Kubernetes sur toutes les distros Linux
- Ubuntu 20.04 Guide
- Introduction aux moteurs de stockage MySQL
- « Activer Adobe Flash pour Google Chrome sur Ubuntu 20.04 FOCAL FOSSA
- Comment installer mod_ssl sur rhel 8 / centos 8 avec httpd apache webserver »