[LINUX] Installieren Sie Docker unter CentOS8. Das Problem, dass der Name nicht gelöst werden konnte, wurde behoben.

Einführung

Nach der Arbeit von CentOS8 auf ESXi6.7 mit der Mindestkonfiguration erstellen, die ich zuvor geschrieben habe, habe ich den Docker eingefügt, aber er ist mit dnf kaputt gegangen. Ich kann den Namen nicht mit DNS auflösen, obwohl ich die IP direkt mit Ping treffen kann. Wurde gelöst, daher werde ich es als Aufzeichnung aufbewahren. Ich wollte beim Starten des Containers nicht "--net = host" machen, also suchte ich nach Informationen.

Es wird nur die Lösung beschrieben

Auf der Hostseite habe ich NAPT eingestellt und es hat funktioniert.

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

Voraussetzungen

Liegt es daran, dass ich es mit der Mindestkonfiguration installiert habe? nftables lief nicht, firewalld lief und iptables lief hinter den Kulissen.

nftables werden gestoppt.

# 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 läuft.

# 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 läuft.

# 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

Docker verfügbar machen

Paketinstallation

Da es zum Zeitpunkt der Installation von der Paketversion betroffen sein wird, installieren Sie es mit --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

Fügen Sie als Randnotiz Docker-Compose hinzu

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

Serviceeinstellungen

# systemctl enable docker
# systemctl start docker

Versuchen Sie, "Hallo Welt" im Test zu starten. Hoffentlich sehen Sie "Hallo von Docker!" Wie unten gezeigt

# 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/

Versuchen Sie, mit dem CentOS 8-Image zu booten

Damit systemctl funktioniert, müssen Sie es in / sbin / init ausführen.

# 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 /]#

Ich konnte mich einloggen.

Ärger

Ich kann den Namen nicht auflösen!

Wenn ich versuche, das Epel-Paket im Container zu installieren, kann ich das nicht.

[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 kann durch direktes Drücken der IP erreicht werden.

[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

Der DNS des Containers bezieht sich auf den Server im LAN

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

Container → Ping an DNS-Pässe

[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

Aber ich kann den Namen nicht auflösen

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

Warum. .. ..

Ich konnte es lösen

Auf der Hostseite habe ich NAPT eingestellt und es hat funktioniert.

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

Ich konnte "dnf epel-release richtig installieren".

# 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!

Nachtrag

Zum Zeitpunkt der Installation war --nobest vorerst in Ordnung, aber ich bekam immer wieder Abhängigkeitsfehler.

# dnf update
Endgültige Bestätigung des Ablaufs der Metadaten: 0:53:Es fand vor 51 Stunden am 08. Februar 2020 um 16:38:36 statt.
Error:
Problem: 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
(So überspringen Sie nicht installierbare Pakete'--skip-broken'Oder versuchen Sie es hinzuzufügen'--nobest'Verwenden Sie nicht nur die besten Kandidatenpakete)

Ich mag das nicht, also lasst uns die Drehzahl erzwingen. Finden Sie zuerst heraus, wo es ist.

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

Ist CentOS 7 überhaupt das Ziel? .. .. Lassen Sie es uns von hier abholen.

# dnf update https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm
Endgültige Bestätigung des Ablaufs der Metadaten: 1:00:Es fand vor 47 Stunden am 08. Februar 2020 um 16:38:36 statt.
containerd.io-1.2.10-3.2.el7.x86_64.rpm                                                                                                 7.5 MB/s |  23 MB     00:03
Die Abhängigkeit wurde behoben.
========================================================================================================================================================================
Repository-Größe der Paketarchitekturversion
========================================================================================================================================================================
Aktualisierung:
 containerd.io                             x86_64                             1.2.10-3.2.el7                             @commandline                              23 M

Transaktionsübersicht
========================================================================================================================================================================
Upgrade 1 Paket

Gesamtgröße: 23 M
Ist das okay? [y/N]: y
Paket herunterladen:
Transaktionsbestätigung durchführen
Die Transaktion wurde erfolgreich bestätigt.
Test der Transaktion ausführen
Der Transaktionstest war erfolgreich.
Transaktion ausführen
Vorbereitung:                                                                                                                                                1/1
Scriptlet läuft: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/1
Während des Upgrades: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
Scriptlet läuft: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
Scriptlet läuft: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
Organisieren: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
Scriptlet läuft: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2
Überprüfung: containerd.io-1.2.10-3.2.el7.x86_64                                                                                                            1/2
Überprüfung: containerd.io-1.2.0-3.el7.x86_64                                                                                                               2/2

Aktualisiert:
  containerd.io-1.2.10-3.2.el7.x86_64

Hat vervollständigt!

Okay, mach ein großes Update.

# dnf update
Endgültige Bestätigung des Ablaufs der Metadaten: 1:01:Es fand vor 08 Stunden am 08. Februar 2020 um 16:38:36 statt.
Die Abhängigkeit wurde behoben.
========================================================================================================================================================================
Repository-Größe der Paketarchitekturversion
========================================================================================================================================================================
Aktualisierung:
 docker-ce                            x86_64                            3:19.03.5-3.el7                               docker-ce-stable                             24 M

Transaktionsübersicht
========================================================================================================================================================================
Upgrade 1 Paket

Gesamtgröße des Downloads: 24 M
Ist das okay? [y/N]: y
Paket herunterladen:
docker-ce-19.03.5-3.el7.x86_64.rpm                                                                                                      7.2 MB/s |  24 MB     00:03
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7 insgesamt.2 MB/s |  24 MB     00:03
Transaktionsbestätigung durchführen
Die Transaktion wurde erfolgreich bestätigt.
Test der Transaktion ausführen
Der Transaktionstest war erfolgreich.
Transaktion ausführen
Vorbereitung:                                                                                                                                                1/1
Scriptlet läuft: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/1
Während des Upgrades: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
Scriptlet läuft: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
Scriptlet läuft: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
/usr/bin/dockerd ist nicht für die Kompatibilität mit dockerd konfiguriert.

Organisieren: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
Scriptlet läuft: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2
Überprüfung: docker-ce-3:19.03.5-3.el7.x86_64                                                                                                               1/2
Überprüfung: docker-ce-3:18.09.1-3.el7.x86_64                                                                                                               2/2

Aktualisiert:
  docker-ce-3:19.03.5-3.el7.x86_64

Hat vervollständigt!

Ja, es sieht okay aus.

# dnf update
Endgültige Bestätigung des Ablaufs der Metadaten: 1:01:Es fand vor 38 Stunden am 08. Februar 2020 um 16:38:36 statt.
Die Abhängigkeit wurde behoben.
Da gibt es nichts zu tun.
Hat vervollständigt!

War gut.

ELK Versuchen Sie es mit dem offiziellen Bild.

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

Verwenden Sie das während des Setups angezeigte Passwort.

setup_1  | setup_elasticsearch    | Elastic password is: [password]

Quelle

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

Recommended Posts

Installieren Sie Docker unter CentOS8. Das Problem, dass der Name nicht gelöst werden konnte, wurde behoben.
Die Geschichte, dass unter Ubuntu kein 5-GHz-Bandzugangspunkt erstellt werden kann
Himbeer Pi 4 Centos7 auf Docker installieren
Es wurde der Fehler behoben, dass Rails-Befehle nach Verwendung der Entwicklungsumgebung mit Docker nicht verwendet werden konnten
Was tun, wenn bei der Installation von CentOS auf VirtualBox die Meldung "Die Sitzung konnte nicht geöffnet werden" angezeigt wird
Melden Sie sich an, wenn ich befürchtet habe, dass ich unter Linux keine Verbindung zu Wi-Fi herstellen kann
Das Problem, dass der Befehl ifconfig nicht verwendet werden kann
Das Problem, dass MacVim, das von Homebrew installiert wurde, nicht von Python of Pyenv erstellt wurde, wurde behoben
Code-Memo, das in Schwierigkeiten war, weil es nicht auf der Website discord.py aufgeführt war
Das Problem, dass das Bild beim Laden mit PandasTools.LoadSDF nicht in ROMol angezeigt wurde, wurde behoben.
Eine Geschichte, als ich IntelliJ unter Linux verwendete und kein Japanisch eingeben konnte
Untersuchte das Problem, dass mit dem Download von Google-Bildern nicht mehr als 101 Bilder erfasst werden konnten
Ein Hinweis, dass pyOSC int64 nicht erhalten hat
So lösen Sie das Problem, dass Videoinhalte unter Firefox für Linux nicht abgespielt werden können
Installieren Sie Faiss unter CentOS 7
Problemumgehung für sys.argv wird nicht übergeben, wenn ein Python-Skript mit nur dem Dateinamen unter Python2.7 unter Windows ausgeführt wird
Installieren Sie Docker auf Fedora31
Installieren Sie numba unter CentOS 7.2
Installieren Sie Python3.4 unter CentOS 6.6
Installieren Sie mecab-python unter CentOS
Installieren Sie Python 2.7.3 unter CentOS 5.4
Installieren Sie Docker unter AWS
Installieren Sie awscli auf centos7
Installieren Sie Chainer unter CentOS 6.7
Installieren Sie Python 3.6 auf Docker
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
So lösen Sie das Problem, dass APL nach der Übertragung auf das eigentliche Gerät unter Kivy-iOS nicht gestartet wird
Mir wurde gesagt, dass ich XML_SetHashSalt nicht finden konnte, als ich versuchte, pip mit Python zu verwenden.
Probleme, die nicht behoben werden können. (Warnung: Der Name "www.oracle.com" auf dem Zertifikat stimmt nicht mit dem Hostnamen "edelivery.oracle.com" überein.)