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.
Du côté de l'hôte, j'ai mis NAPT et cela a fonctionné.
# firewall-cmd --add-masquerade --permanent
# firewall-cmd --reload
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
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/
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.
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. .. ..
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!
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]
https://serverfault.com/questions/987686/no-network-connectivity-to-from-docker-ce-container-on-centos-8
Recommended Posts