Cet article vous présentera la méthode d'installation de docker sous Linux, et en apprendra plus sur les étapes de création de l'environnement lnmp (php7.4 + nginx) avec docker. J'espère qu'il vous sera utile !
1.1 Installation de Docker
L'installation de Docker est très simple, nous pouvons directement utiliser la commande yum dans le système centos pour installer :
yum install -y docker
Une fois terminé, vérifiez les informations sur la version de Docker :
[root@localhost docker]# docker version Client: Version: 1.13.1 API version: 1.26 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64 Go version: go1.10.3 Git commit: 0be3e21/1.13.1 Built: Fri Mar 19 13:57:09 2021 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: docker-1.13.1-204.git0be3e21.el7.x86_64 Go version: go1.10.3 Git commit: 0be3e21/1.13.1 Built: Fri Mar 19 13:57:09 2021 OS/Arch: linux/amd64 Experimental: false [root@localhost docker]#
prouve que l'installation est terminée. La commande docker est la suivante :
systemctl start docker # 启动docker systemctl stop docker # 停止docker systemctl status docker # 查看docker状态 systemctl restart docker # 重新启动docker
sudo systemctl activate docker #Configurer docker pour qu'il démarre automatiquement au démarrage
Nous devons modifier la source de l'image docker avant de démarrer :
[root@localhost docker]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"] }
Après une fois terminé, exécutez systemctl start docker pour démarrer le service docker.
docker │ └── nginx │ │ └── default.conf #nginx配置文件 │ └── www │ └── ... #项目代码
Nous pouvons utiliser la commande docker search nginx pour trouver l'image nginx sur Docker Hub Ici, nous extrayons directement l'image officielle
[root@localhost ~]# docker pull nginx
En attente du téléchargement. pour compléter, nous trouverons l'image dont le REPOSITORY est nginx dans la liste d'images locale.
[root@localhost www]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 62d49f9bab67 12 days ago 133 MB
[root@localhost docker]# docker inspect php | grep "IPAddress" "SecondaryIPAddresses": null, "IPAddress": "172.17.0.3", "IPAddress": "172.17.0.3",
Utiliser l'image nginx pour ouvrir le conteneur d'application nginx
[root@localhost ~]# docker run -p 80:80 -d --name nginx -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www:/docker/www --privileged=true nginx -p 80:80:将容器的80端口映射到主机的80端口 -d 后台运行(守护进程) --name nginx:将容器命名为nginx -v 将主机中当前目录下的www挂载到容器的www目录 #查看docker目前的容器 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8781afd1bf13 nginx "/docker-entrypoin..." About an hour ago Up 17 minutes 0.0.0.0:80->80/tcp nginx
2.2 installation du docker php
Comme nginx, nous pouvons d'abord trouver l'image via la recherche Docker php, ici c'est directement Tirez l'image officielle avec le label 7,4-fpm Vous pouvez choisir d'autres versions par vous-même[root@localhost ~]# docker pull php:7.4-fpm
[root@localhost docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 62d49f9bab67 12 days ago 133 MB docker.io/php 7.4-fpm 41b17b0f90e6 2 weeks ago 405 MB
[root@localhost docker]# docker run -p 9000:9000 -d --name php -v /docker/www:/docker/www --privileged=true php:7.4-fpm -p 9000:9000 :将容器的9000端口映射到主机的9000端口 -d 后台运行(守护进程) --name php:将容器命名为php -v 将主机中当前目录下的www挂载到容器的www目录
[root@localhost docker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cbf73ca0f17c php:7.4-fpm "docker-php-entryp..." About an hour ago Up About an hour 0.0.0.0:9000->9000/tcp php 8781afd1bf13 nginx "/docker-entrypoin..." About an hour ago Up 23 minutes 0.0.0.0:80->80/tcp nginx
Afficher le php configuré par nginx- L'IP du service fpm est-elle cohérente :
location ~ \.php$ { root /docker/www/lmrs-2008/public; fastcgi_pass 172.17.0.3:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
fastcgi_pass 172.17.0.3:9000
doit être cohérente avec l'IP du conteneur php que nous visualisons ; .
Terminez la configuration ci-dessus et confirmez qu'il n'y a pas de problème avec le démarrage du conteneur. Vous pouvez le tester :
Il peut y avoir des problèmes d'autorisation de répertoire lors de l'accès à Laravel. Voici la solution :[root@localhost docker]# cd /docker/www [root@localhost www]# chmod -R 777 文件名
Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!