[LINUX] Installez Docker sur CentOS8. Le problème que le nom n'a pas pu être résolu a été résolu.

introduction

Après le travail de Construction de CentOS8 sur ESXi6.7 avec la configuration minimale j'ai écrit plus tôt, j'ai mis dans le docker, mais il a rompu avec dnf. Je ne peux pas résoudre le nom avec DNS même si je peux frapper l'IP directement avec le ping. A été résolu, je vais donc le garder comme un dossier Je ne voulais pas faire --net = host lors du démarrage du conteneur, j'ai donc cherché des informations.

Seule la solution est décrite

Du côté de l'hôte, j'ai mis NAPT et cela a fonctionné.

# firewall-cmd --add-masquerade --permanent
# firewall-cmd --reload

Conditions préalables

Est-ce parce que je l'ai installé avec la configuration minimale? nftables ne fonctionnait pas, firewalld fonctionnait et iptables fonctionnait dans les coulisses.

nftables sont arrêtés.

# systemctl status nftables
● nftables.service - Netfilter Tables
   Loaded: loaded (/usr/lib/systemd/system/nftables.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:nft(8)

firewalld est en cours d'exécution.

# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-02-08 16:28:47 JST; 27min ago
     Docs: man:firewalld(1)
 Main PID: 1182 (firewalld)
    Tasks: 2 (limit: 23585)
   Memory: 38.9M
   CGroup: /system.slice/firewalld.service
           mq1182 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

iptables est en cours d'exécution.

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination
DOCKER-USER  all  --  anywhere             anywhere
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
RETURN     all  --  anywhere             anywhere

Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Rendre le docker disponible

Installation du package

Puisqu'il sera touché par la version du package au moment de l'installation, installez-le avec --nobest.

# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# dnf install --nobest docker-ce docker-ce-cli containerd.io

En remarque, incluez docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Paramètres de service

# systemctl enable docker
# systemctl start docker

Essayez de lancer «hello-world» dans le test. J'espère que vous verrez "Bonjour de Docker!" Comme indiqué ci-dessous

# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Status: Downloaded newer image for hello-world:latest

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/

Essayez de démarrer avec l'image CentOS 8

Pour que systemctl fonctionne, vous devez l'exécuter dans / sbin / init.

# docker pull centos:centos8
# docker run --privileged -it -d --name centos8_check centos:centos8 /sbin/init
# docker exec -it centos8_check /bin/bash
[root@fced0781866f /]#

J'ai pu me connecter.

Difficulté

Je ne peux pas résoudre le nom!

Lorsque j'essaye d'installer le package epel dans le conteneur, je ne peux pas.

[root@fced0781866f /]# dnf install epel-release
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                           0.0  B/s |   0  B     00:05
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'

Container → Google Public DNS peut être atteint en touchant directement l'adresse IP.

[root@fced0781866f /]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=5.60 ms

Le DNS du conteneur fait référence à un serveur du LAN

[root@fced0781866f /]# cat /etc/resolv.conf
# Generated by NetworkManager
search prosper2.net
nameserver 10.254.10.241

Conteneur → ping aux passes DNS

[root@fced0781866f /]# ping 10.254.10.241
PING 10.254.10.241 (10.254.10.241) 56(84) bytes of data.
64 bytes from 10.254.10.241: icmp_seq=1 ttl=127 time=0.467 ms

Mais je ne peux pas résoudre le nom

[root@fced0781866f /]# ping dns.google
ping: dns.google: Name or service not known

Pourquoi. .. ..

J'ai pu le résoudre

Du côté de l'hôte, j'ai mis NAPT et cela a fonctionné.

# firewall-cmd --add-masquerade --permanent
# firewall-cmd --reload

J'ai pu correctement dnf installer epel-release.

# dnf install epel-release
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                           4.7 MB/s | 6.4 MB     00:01
CentOS-8 - Base                                                4.8 MB/s | 5.0 MB     00:01
CentOS-8 - Extras                                              6.2 kB/s | 2.1 kB     00:00
Dependencies resolved.
===============================================================================================
 Package                   Architecture        Version               Repository           Size
===============================================================================================
Installing:
 epel-release              noarch              8-5.el8               extras               22 k

Transaction Summary
===============================================================================================
Install  1 Package

Total download size: 22 k
Installed size: 30 k
Is this ok [y/N]: y
Downloading Packages:
epel-release-8-5.el8.noarch.rpm                                915 kB/s |  22 kB     00:00
-----------------------------------------------------------------------------------------------
Total                                                           36 kB/s |  22 kB     00:00
warning: /var/cache/dnf/extras-cbfb2f07b0021b7e/packages/epel-release-8-5.el8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - Extras                                              1.6 MB/s | 1.6 kB     00:00
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <[email protected]>"
 Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                       1/1
  Installing       : epel-release-8-5.el8.noarch                                           1/1
  Running scriptlet: epel-release-8-5.el8.noarch                                           1/1
  Verifying        : epel-release-8-5.el8.noarch                                           1/1

Installed:
  epel-release-8-5.el8.noarch

Complete!

Postscript

Au moment de l'installation, --nobest était correct pour le moment, mais j'ai continué à recevoir des erreurs de dépendance.

# dnf update
Confirmation finale de l'expiration des métadonnées: 0:53:Elle s'est tenue il y a 51 heures le 08 février 2020 à 16:38:36.
Erreur:
problème: package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best update candidate for package docker-ce-3:18.09.1-3.el7.x86_64
  - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(Pour ignorer les packages non installables'--skip-broken'Ou essayez d'ajouter'--nobest'N'utilisez pas uniquement les meilleurs packages candidats)

Je n'aime pas ça, alors forcons le RPM. Tout d'abord, découvrez où il se trouve.

# grep stable /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable

Eh bien, CentOS 7 est-il la cible en premier lieu? .. .. Prenons-le d'ici.

# dnf update https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm
Confirmation finale de l'expiration des métadonnées: 1:00:Elle s'est tenue il y a 47 heures le 08 février 2020 à 16:38:36.
containerd.io-1.2.10-3.2.el7.x86_64.rpm                                                                                                 7.5 MB/s |  23 MB     00:03
La dépendance a été résolue.
========================================================================================================================================================================
Taille du référentiel de version d'architecture de package
========================================================================================================================================================================
améliorer:
 containerd.io                             x86_64                             1.2.10-3.2.el7                             @commandline                              23 M

Aperçu de la transaction
========================================================================================================================================================================
Mettre à niveau 1 package

Taille totale: 23 M
Est-ce correct? [y/N]: y
Téléchargement du package:
Effectuer la confirmation de transaction
La transaction a été confirmée avec succès.
Exécution du test de transaction
Le test de transaction a réussi.
Transaction en cours
Préparation:                                                                                                                                                1/1
scriptlet en cours d'exécution: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/1
Pendant la mise à niveau: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
scriptlet en cours d'exécution: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
scriptlet en cours d'exécution: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
Organiser: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
scriptlet en cours d'exécution: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
Vérification: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
Vérification: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2

Mis à jour:
  containerd.io-1.2.10-3.2.el7.x86_64

A completé!

Très bien, faites une grosse mise à jour.

# dnf update
Confirmation finale de l'expiration des métadonnées: 1:01:Elle s'est tenue il y a 08 heures le 08 février 2020 à 16:38:36.
La dépendance a été résolue.
========================================================================================================================================================================
Taille du référentiel de version d'architecture de package
========================================================================================================================================================================
améliorer:
 docker-ce                            x86_64                            3:19.03.5-3.el7                               docker-ce-stable                             24 M

Aperçu de la transaction
========================================================================================================================================================================
Mettre à niveau 1 package

Taille totale du téléchargement: 24 M
Est-ce correct? [y/N]: y
Téléchargement du package:
docker-ce-19.03.5-3.el7.x86_64.rpm                                                                                                      7.2 MB/s |  24 MB     00:03
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7 au total.2 MB/s |  24 MB     00:03
Effectuer la confirmation de transaction
La transaction a été confirmée avec succès.
Exécution du test de transaction
Le test de transaction a réussi.
Transaction en cours
Préparation:                                                                                                                                                1/1
scriptlet en cours d'exécution: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/1
Pendant la mise à niveau: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
scriptlet en cours d'exécution: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
scriptlet en cours d'exécution: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
/usr/bin/dockerd n'est pas configuré pour la compatibilité de dockerd.

Organiser: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
scriptlet en cours d'exécution: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
Vérification: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
Vérification: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2

Mis à jour:
  docker-ce-3:19.03.5-3.el7.x86_64

A completé!

Ouais, ça a l'air bien.

# dnf update
Confirmation finale de l'expiration des métadonnées: 1:01:Elle s'est tenue il y a 38 heures le 08 février 2020 à 16:38:36.
La dépendance a été résolue.
Il n'y a rien à faire.
A completé!

C'était bien.

ELK Essayez-le avec l'image officielle.

git clone https://github.com/elastic/stack-docker.git
cd stack-docker
docker-compose -f setup.yml up
docker-compose up -d

Utilisez le mot de passe affiché lors de la configuration.

setup_1  | setup_elasticsearch    | Elastic password is: [password]

La source

https://serverfault.com/questions/987686/no-network-connectivity-to-from-docker-ce-container-on-centos-8

Recommended Posts

Installez Docker sur CentOS8. Le problème que le nom n'a pas pu être résolu a été résolu.
L'histoire de l'impossibilité de créer un point d'accès en bande 5 GHz sur Ubuntu
raspberry pi 4 centos7 installer sur docker
Résolution du problème selon lequel les commandes Rails ne pouvaient pas être utilisées après l'utilisation de l'environnement de développement avec Docker
Que faire si vous obtenez "La session n'a pas pu être ouverte" lors de l'installation de CentOS sur VirtualBox
Connectez-vous lorsque je craignais de ne pas pouvoir me connecter au Wi-Fi sous Linux
Le problème que la commande ifconfig ne peut pas être utilisée
Résolution du problème selon lequel MacVim installé par Homebrew n'a pas été construit par python de pyenv
Mémo de code en difficulté car il n'était pas répertorié sur le site discord.py
Résolution du problème selon lequel l'image n'était pas affichée dans ROMol lors du chargement avec PandasTools.LoadSDF.
Une histoire lorsque j'utilisais IntelliJ sous Linux et que je ne pouvais pas saisir le japonais
A étudié le problème que plus de 101 images ne pouvaient pas être acquises avec le téléchargement de Google Images
Une note que pyOSC n'a pas reçu int64
Comment résoudre le problème que le contenu vidéo ne peut pas être lu sur Firefox pour Linux
Installez Faiss sur CentOS 7
Solution de contournement pour sys.argv non transmise lors de l'exécution d'un script Python avec uniquement le nom de fichier sur Python2.7 sous Windows
Installer docker sur Fedora31
Installez numba sur CentOS 7.2
Installez Python3.4 sur CentOS 6.6
Installez mecab-python sur CentOS
Installez Python 2.7.3 sur CentOS 5.4
Installez Docker sur AWS
Installez awscli sur centos7
Installer Chainer sur CentOS 6.7
Installez Python 3.6 sur Docker
Obtenez le nom d'hôte du PC hôte avec Docker sous Linux
Comment résoudre le problème selon lequel APL ne démarre pas après le transfert vers l'appareil réel sur Kivy-iOS
On m'a dit que je ne pouvais pas trouver XML_SetHashSalt lorsque j'ai essayé d'utiliser pip avec python.
Problèmes qui ne peuvent pas être résolus. (Attention: le nom `www.oracle.com 'sur le certificat ne correspond pas au nom d'hôte ʻedelivery.oracle.com')