> 文章列表 > docker-compose 安装nginx php mysql phpadmin

docker-compose 安装nginx php mysql phpadmin

docker-compose 安装nginx php mysql phpadmin

一 摘要

本文主要介绍基于docker docker-compose 安装 lnmp 三件套,以及用phpmysadmin 验证下部署可正确。

二 环境信息

2.1 操作系统

[root@2023001 ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@2023001 ~]#

2.2 docker

[root@2023001 soft]# docker-compose -v
Docker Compose version v2.16.0
[root@2023001 soft]# docker -v
Docker version 23.0.1, build a5ee5b1
[root@2023001 soft]#

三 实施

相关镜像在docker hub 官网下载 https://hub.docker.com/

3.1 安装docker 以及dockercompose

具体参看该文https://blog.csdn.net/nasooo/article/details/129753140

3.1 安装nginx

3.1.1 获取镜像

[root@2023001 soft]# docker pull nginx:stable-perl
[root@2023001 soft]# docker images
REPOSITORY   TAG           IMAGE ID       CREATED        SIZE
nginx        stable-perl   b4c217053922   22 hours ago   190MB
[root@2023001 soft]#

3.1.2 运行

[root@2023001 soft]# docker run -p 80:80 --name commonnginx -d nginx:stable-perl
8a3487ef5818167e1475856cfd9707c55f713e8d146e08131671c78149c3fd07
[root@2023001 soft]# docker ps -a
CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS         PORTS                               NAMES
8a3487ef5818   nginx:stable-perl   "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   commonnginx
[root@2023001 soft]#

3.1.3 验证

docker-compose 安装nginx php mysql phpadmin

3.1.4 基于docker-compose 安装

3.1.4.1 docker-compose 脚本

version: '1.1'
services:nginx:image: nginx:stable-perl     # 镜像名称container_name: commonappnginx     # 容器名字restart: always     # 开机自动重启ports:     # 端口号绑定(宿主机:容器内- '80:80'- '443:443'volumes:      # 目录映射(宿主机:容器内)- /data/yunweipro/commonapp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf- /data/yunweipro/commonapp/nginx/conf.d:/etc/nginx/conf.d- /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html- /data/yunweipro/commonapp/nginx/logs:/var/log/nginx

3.1.4.2 目录结构

[root@2023001 commonapp]# tree -a
.
├── dockercomposescript
│   └── commonappnginx.yml
└── nginx├── conf│   ├── conf.d│   └── nginx.conf   ├── conf.d│   └── default.conf├── html│   └── index.html└── logs├── access.log└── error.log

启动之前,必须在该目录下 添加,一般先启动个同版本的容器 docker cp 出来

nginx.conf
default.conf
index.html
缺少这三个文件 ,nginx 会出现异常。
通过注释脚本每一行 定位错误

3.1.4.3 启动

[root@2023001 dockercomposescript]# docker-compose -f commonappnginx.yml up -d

3.1.4.4 验证目录映射

修改/data/yunweipro/commonapp/nginx/html/index.html

3.2 安装php-fpm

3.2.1 获取镜像

[root@2023001 commonapp]# docker pull bitnami/php-fpm:7.4.32
7.4.32: Pulling from bitnami/php-fpm
1d8866550bdd: Pull complete
586e9578d6ca: Pull complete
Digest: sha256:75b8ad4221f0215ad73947e342659a43d7d9bc382fd591a3ecfc3970706ff0a3
Status: Downloaded newer image for bitnami/php-fpm:7.4.32
docker.io/bitnami/php-fpm:7.4.32
[root@2023001 commonapp]# docker images
REPOSITORY        TAG           IMAGE ID       CREATED        SIZE
nginx             stable-perl   b4c217053922   25 hours ago   190MB
bitnami/php-fpm   7.4.32        85b93689d207   5 months ago   329MB
[root@2023001 commonapp]#

3.2.2 配置

version: '2'
services:nginx:image: nginx:stable-perl     # 镜像名称container_name: commonappnginx     # 容器名字restart: always     # 开机自动重启ports:     # 端口号绑定(宿主机:容器内)- '80:80'volumes:      # 目录映射(宿主机:容器内)- /data/yunweipro/commonapp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf- /data/yunweipro/commonapp/nginx/conf.d:/etc/nginx/conf.d- /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html- /data/yunweipro/commonapp/nginx/logs:/var/log/nginxphp:image: bitnami/php-fpm:7.4.32     # 镜像名称container_name: php     # 容器名字restart: always     # 开机自动重启
#        ports:     # 端口号绑定(宿主机:容器内)
#            - '9000:9000'volumes:      # 目录映射(宿主机:容器内)- /data/yunweipro/commonapp/nginx/html:/usr/share/nginx/html

conf.d/default.conf 添加此段

#当请求网站下php文件的时候,反向代理到php-fpmlocation ~ \\.php$ {fastcgi_pass   php:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html/$fastcgi_script_name;include        fastcgi_params;}

3.3 安装php

3.4 安装phpadmin

CG素材网