$ docker --version
Docker version 19.03.8, build afacb8b
Holen Sie sich das Bild mit dem Docker-Pull-Befehl.
$ docker pull centos:centos8
centos8: Pulling from library/centos
8a29a15cefae: Pull complete
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:centos8
docker.io/library/centos:centos8
Ein Image von CentOS Linux finden Sie unter centos Tags \ -Docker Hub.
Weisen Sie dem Container den Namen foobar zu und führen Sie ihn im Hintergrund aus. Hier wird Port 80 des Containers Port 8080 des Hosts zugewiesen.
$ docker run --detach --name foobar --privileged --publish=8080:80 centos:centos8 /sbin/init
run - Docker \ -docs \ -ja 17 \ .06 \ .Beta Document
Der Docker-Ausführungsbefehl erstellt zuerst eine beschreibbare Containerebene auf dem angegebenen Image. Beginnen Sie dann mit dem angegebenen Befehl. Dieser Docker-Lauf entspricht dem Ausführen von / container / (id) / start nach der API / container / create.
Beachten Sie, dass Sie systemd mit der folgenden Fehlermeldung bei Verwendung von systemd nicht verwenden können, wenn Sie im Befehl docker run nicht --privileged und / sbin / init angeben.
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Verwenden Sie den Befehl docker exec, um die Bash-Shell im gestarteten Container auszuführen. Sie können jetzt in CentOS Linux 8 einsteigen.
$ docker exec -it foobar bash
Überprüfen Sie die Betriebssystemversion usw. in der Shell.
[root@29d737551a55 /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
[root@29d737551a55 /]# uname -a
Linux 29d737551a55 4.19.76-linuxkit #1 SMP Thu Oct 17 19:31:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Sie haben nicht die Software, von der Sie glauben, dass Sie sie häufig verwenden, wie z. B. vim.
[root@29d737551a55 /]# vim
bash: /usr/bin/vim: No such file or directory
Installieren Sie vim.
[root@29d737551a55 /]# dnf install vim
[root@29d737551a55 /]# vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Nov 11 2019 19:08:24)
Included patches: 1-1763
Verwenden Sie den Befehl exit, um die Shell zu beenden.
[root@29d737551a55 /]# exit
exit
Sie können den laufenden Container mit dem Docker-Stop-Befehl stoppen.
$ docker stop foobar
Sie können Containerinformationen mit dem Befehl docker ps anzeigen.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29d737551a55 centos:centos8 "/sbin/init" 46 minutes ago Exited (137) 19 seconds ago foobar
Sie können einen gestoppten Container mit dem Docker-Startbefehl starten.
$ docker start foobar
Starten Sie eine Shell im Container und melden Sie sich an.
$ docker exec -it foobar bash
Installieren Sie das httpd-Paket mit dem Befehl dnf.
[root@29d737551a55 /]# dnf install httpd
Sie haben jetzt Apache HTTP Server installiert. Überprüfe die Version.
[root@29d737551a55 /]# httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
Stellen Sie ein, um mit systemd zu verwalten.
[root@29d737551a55 /]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Starten Sie Apache HTTP Server mit dem Befehl systemctl start.
[root@29d737551a55 /]# systemctl start httpd
Standardmäßig lautet das Dokumentstammverzeichnis / var / www / html /. Erstellen Sie daher eine HTML-Datei in /var/www/html/index.html.
[root@29d737551a55 /]# vi /var/www/html/index.html
Dieses Mal habe ich die folgenden Inhalte beschrieben.
<html>
<body>
Hello, World!
</body>
</html>
Apache HTTP Server gibt beim Zugriff mit dem Befehl curl eine HTML-Datei aus.
[root@29d737551a55 /]# curl -i http://localhost/
HTTP/1.1 200 OK
Date: Sat, 21 Mar 2020 06:00:04 GMT
Server: Apache/2.4.37 (centos)
Last-Modified: Sat, 21 Mar 2020 05:59:52 GMT
ETag: "2d-5a1571c48ab9e"
Accept-Ranges: bytes
Content-Length: 45
Content-Type: text/html; charset=UTF-8
<html>
<body>
Hello, World!
</body>
</html>
Dieses Mal wird Port 80 des Containers Port 8080 auf der Docker-Hostseite zugewiesen. Wenn Sie von außerhalb des Containers auf Port 8080 auf der Hostseite zugreifen, werden Sie mit Port 80 des Containers verbunden.
$ curl -i http://localhost:8080/
HTTP/1.1 200 OK
Date: Sat, 21 Mar 2020 06:01:21 GMT
Server: Apache/2.4.37 (centos)
Last-Modified: Sat, 21 Mar 2020 05:59:52 GMT
ETag: "2d-5a1571c48ab9e"
Accept-Ranges: bytes
Content-Length: 45
Content-Type: text/html; charset=UTF-8
<html>
<body>
Hello, World!
</body>
</html>
Recommended Posts