Créez un environnement CentOS Linux 8 avec Docker et démarrez Apache HTTP Server

Aperçu

--Construction d'un environnement CentOS Linux 8 avec Docker sur macOS --Démarrez Apache HTTP Server et accédez de l'intérieur et de l'extérieur du conteneur

Cet environnement

$ docker --version
Docker version 19.03.8, build afacb8b

Obtenir une image CentOS Linux 8 depuis Docker Hub

Obtenez l'image avec la commande docker pull.

$ 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

Vous pouvez trouver une image de CentOS Linux que vous pouvez installer à partir de centos Tags \ -Docker Hub.

Créer et lancer un conteneur

Attribuez le nom foobar au conteneur et exécutez-le en arrière-plan. Ici, le port 80 du conteneur est affecté au port 8080 de l'hôte.

$ docker run --detach --name foobar --privileged --publish=8080:80 centos:centos8 /sbin/init

exécuter - Docker \ -docs \ -ja 17 \ .06 \ .Beta Document

La commande docker run crée d'abord une couche de conteneur inscriptible sur l'image spécifiée. Puis commencez à utiliser la commande spécifiée. Cette exécution de docker est identique à l'exécution de / containers / (id) / start après l'API / containers / create.

Notez que si vous ne spécifiez pas --privileged et / sbin / init dans la commande docker run, vous ne pourrez pas utiliser systemd avec le message d'erreur suivant lors de l'utilisation de systemd.

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

Connectez-vous à CentOS Linux 8

Utilisez la commande docker exec pour exécuter le shell bash dans le conteneur lancé. Vous pouvez maintenant accéder à CentOS Linux 8.

$ docker exec -it foobar bash

Utilise CentOS Linux 8

Vérifiez la version du système d'exploitation, etc. dans le 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

Vous ne disposez pas du logiciel que vous pensez utiliser souvent, comme vim.

[root@29d737551a55 /]# vim
bash: /usr/bin/vim: No such file or directory

Installez 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

Utilisez la commande exit pour quitter le shell.

[root@29d737551a55 /]# exit
exit

Arrêtez le conteneur

Vous pouvez arrêter le conteneur en cours d'exécution avec la commande docker stop.

$ docker stop foobar

Vérifiez les informations du conteneur

Vous pouvez afficher les informations du conteneur avec la commande docker ps.

$ 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

Démarrer le conteneur

Vous pouvez démarrer un conteneur arrêté avec la commande docker start.

$ docker start foobar

Installer le serveur HTTP Apache

Lancez un shell à l'intérieur du conteneur et connectez-vous.

$ docker exec -it foobar bash

Installez le package httpd avec la commande dnf.

[root@29d737551a55 /]# dnf install httpd

Vous avez maintenant installé Apache HTTP Server. Vérifiez la version.

[root@29d737551a55 /]# httpd -v
Server version: Apache/2.4.37 (centos)
Server built:   Dec 23 2019 20:45:34

Configuré pour gérer avec systemd.

[root@29d737551a55 /]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Démarrez Apache HTTP Server avec la commande systemctl start.

[root@29d737551a55 /]# systemctl start httpd

Par défaut, la racine du document est / var / www / html /, créez donc un fichier HTML dans /var/www/html/index.html.

[root@29d737551a55 /]# vi /var/www/html/index.html

Cette fois, j'ai décrit le contenu suivant.

<html>
<body>
Hello, World!
</body>
</html>

Apache HTTP Server génère un fichier HTML lorsqu'il est accédé avec la commande curl.

[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>

Cette fois, le port 80 du conteneur est affecté au port 8080 du côté hôte Docker. Si vous accédez au port 8080 du côté hôte depuis l'extérieur du conteneur, vous serez connecté au port 80 du conteneur.

$ 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>

Matériel de référence

Recommended Posts

Créez un environnement CentOS Linux 8 avec Docker et démarrez Apache HTTP Server
[Linux] Créer un environnement Jenkins avec Docker
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Créer un serveur HTTP Apache et Wildfly sur Oracle Linux 8
[Linux] Créez un auto-certificat avec Docker et apache
Créez un environnement LAMP avec Vagrant (Linux + Apache + MySQL + PHP)
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Créez un environnement python avec ansible sur centos6
Démarrez un serveur Web Python simple avec Docker
[Python] Créer un environnement de développement Django avec Docker
Créez un environnement virtuel avec pyenv et venv
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et construisez un serveur Web --2 introduction PHP
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et créez un serveur Web ―― 1. Introduction à Apache
Source compilez Apache2.4 (httpd 2.4.43) + PHP7.4 sous Linux pour construire un serveur Web ―― 1. Introduction à Apache
Source compile Apache2.4 (httpd 2.4.43) + PHP7.4 sous Linux pour construire un serveur Web --2 introduction PHP
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Créez un environnement de développement avec Poetry Django Docker Pycharm
Construire un environnement de calcul numérique avec pyenv et miniconda3
Créer un environnement LAMP [CentOS 7]
Compilez Apache2.4 + PHP7.4 avec Raspberry Pi et construisez un serveur Web --3. Utilisez MySQL
Créez un environnement de développement Django avec Docker! (Docker-compose / Django / postgreSQL / nginx)
Créer un environnement Docker qui peut utiliser PyTorch et JupyterLab
Créer des pipelies Azure avec Azure DevOps dans un environnement auto-hébergé Linux
Créez un environnement d'apprentissage automatique scikit-learn avec VirtualBox et Ubuntu
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Configurer un serveur Web avec CentOS7 + Anaconda + Django + Apache
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
Créer un environnement Python et transférer des données vers le serveur
Créez un environnement GPU avec GCP et l'image officielle de Kaggle (docker)
Créer une application Todo avec Django ① Créer un environnement avec Docker
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
Créer un environnement go à l'aide de Docker
Créer un serveur Flask avec Docker
Créer un fichier deb avec Docker
Construire un environnement Mysql + Python avec docker
Créer un environnement python3 sur CentOS7
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Créez facilement un environnement de développement avec Laragon
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Un mémo contenant Python2.7 et Python3 dans CentOS
Créez un environnement d'API rapide avec docker-compose
Obtenez un environnement local pour DynamoDB avec Docker
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Construire un serveur Samba sur Arch Linux
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
Construire un environnement de NGINX + NGINX Unit + MySQL avec Docker
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
J'ai essayé la surveillance vivante (Ping) de Linux (CentOS 7) avec le serveur de surveillance Zabbix
Configurer un proxy inverse vers le serveur https avec CentOS Linux 8 + Apache mod_ssl
Démarrez un serveur Web en utilisant Bottle et Flask (j'ai également essayé d'utiliser Apache)
Construisez un environnement de simulateur de drone et essayez un vol simple avec Mission Planner
Construisez Linux sur un environnement Windows. Étapes pour installer Laradock et migrer