Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server

Überblick

Diese Umgebung

$ docker --version
Docker version 19.03.8, build afacb8b

Holen Sie sich das CentOS Linux 8-Image von Docker Hub

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.

Erstellen und starten Sie einen Container

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

Melden Sie sich bei CentOS Linux 8 an

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

Verwendet CentOS Linux 8

Ü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

Stoppen Sie den Behälter

Sie können den laufenden Container mit dem Docker-Stop-Befehl stoppen.

$ docker stop foobar

Überprüfen Sie die Containerinformationen

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

Container starten

Sie können einen gestoppten Container mit dem Docker-Startbefehl starten.

$ docker start foobar

Installieren Sie den Apache HTTP Server

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>

Referenzmaterial

Recommended Posts

Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Erstellen Sie Apache HTTP Server und Wildfly unter Oracle Linux 8
[Linux] Erstellen Sie ein Selbstzertifikat mit Docker und Apache
Erstellen Sie eine LAMP-Umgebung mit Vagrant (Linux + Apache + MySQL + PHP)
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Starten Sie mit Docker einen einfachen Python-Webserver
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine virtuelle Umgebung mit pyenv und venv
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --2 PHP Einführung
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver. 1. Apache-Einführung
Quellkompilierung Apache2.4 (httpd 2.4.43) + PHP7.4 unter Linux zum Erstellen eines Webservers ―― 1. Einführung in Apache
Quellkompilierung Apache2.4 (httpd 2.4.43) + PHP7.4 unter Linux zum Erstellen eines Webservers --2 PHP-Einführung
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Erstellen einer numerischen Berechnungsumgebung mit pyenv und miniconda3
Erstellen Sie eine LAMP-Umgebung [CentOS 7]
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --3. Verwenden Sie MySQL
Erstellen Sie mit Docker eine Django-Entwicklungsumgebung! (Docker-compose / Django / postgreSQL / nginx)
Erstellen Sie eine Docker-Umgebung, die PyTorch und JupyterLab verwenden kann
Erstellen Sie Azure-Pipelies mit Azure DevOps in einer selbst gehosteten Linux-Umgebung
Erstellen Sie mit VirtualBox und Ubuntu eine Scikit-Lernumgebung für maschinelles Lernen
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Richten Sie einen Webserver mit CentOS7 + Anaconda + Django + Apache ein
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Erstellen Sie eine GPU-Umgebung mit GCP und kaggle offiziellem Image (Docker)
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Erstellen Sie mit Docker eine Go-Umgebung
Erstellen eines Flask-Servers mit Docker
Erstellen Sie eine Deb-Datei mit Docker
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Ein Memo mit Python2.7 und Python3 in CentOS
Erstellen Sie mit Docker-Compose eine schnelle API-Umgebung
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Erstellen Sie einen Samba-Server unter Arch Linux
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Erstellen Sie mit Docker eine Umgebung aus NGINX + NGINX Unit + MySQL
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Ich habe versucht, Linux (CentOS 7) mit dem Überwachungsserver Zabbix lebend zu überwachen (Ping)
Richten Sie mit CentOS Linux 8 + Apache mod_ssl einen Reverse-Proxy für den https-Server ein
Starten Sie einen Webserver mit Bottle and Flask (ich habe auch versucht, Apache zu verwenden)
Erstellen Sie eine Drohnen-Simulator-Umgebung und versuchen Sie einen einfachen Flug mit Mission Planner
Erstellen Sie Linux in einer Windows-Umgebung. Schritte zum Installieren und Migrieren von Laradock