1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > docker-compose 安装nginx php mysql phpadmin

docker-compose 安装nginx php mysql phpadmin

时间:2022-12-17 06:23:20

相关推荐

docker-compose 安装nginx php mysql phpadmin

一 摘要

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

二 环境信息

2.1 操作系统

[root@001 ~]# cat /etc/centos-releaseCentOS Linux release 7.9. (Core)[root@001 ~]#

2.2 docker

[root@001 soft]# docker-compose -vDocker Compose version v2.16.0[root@001 soft]# docker -vDocker version 23.0.1, build a5ee5b1[root@001 soft]#

三 实施

相关镜像在docker hub 官网下载 /

3.1 安装docker 以及dockercompose

具体参看该文/nasooo/article/details/129753140

3.1 安装nginx

3.1.1 获取镜像

[root@001 soft]# docker pull nginx:stable-perl

[root@001 soft]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx stable-perl b4c217053922 22 hours ago 190MB[root@001 soft]#

3.1.2 运行

[root@001 soft]# docker run -p 80:80 --name commonnginx -d nginx:stable-perl8a3487ef5818167e1475856cfd9707c55f713e8d146e08131671c78149c3fd07[root@001 soft]# docker ps -aCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMES8a3487ef5818 nginx:stable-perl "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp commonnginx[root@001 soft]#

3.1.3 验证

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@001 commonapp]# tree -a.├── dockercomposescript│ └── commonappnginx.yml└── nginx├── conf│ └── 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@001 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@001 commonapp]# docker pull bitnami/php-fpm:7.4.327.4.32: Pulling from bitnami/php-fpm1d8866550bdd: Pull complete586e9578d6ca: Pull completeDigest: sha256:75b8ad4221f0215ad73947e342659a43d7d9bc382fd591a3ecfc3970706ff0a3Status: Downloaded newer image for bitnami/php-fpm:7.4.32docker.io/bitnami/php-fpm:7.4.32[root@001 commonapp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx stable-perl b4c217053922 25 hours ago 190MBbitnami/php-fpm 7.4.32 85b93689d207 5 months ago 329MB[root@001 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.2.3 运行

[root@001 dockercomposescript]# docker-compose -f commonapp.yml up -d

[root@001 dockercomposescript]# docker ps -aCONTAINER ID IMAGECOMMAND CREATEDSTATUSPORTS NAMES6ea54c26796c nginx:stable-perl "/docker-entrypoint.…" 12 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp commonappnginx935121a60fc6 bitnami/php-fpm:7.4.32 "php-fpm -F --pid /o…" 16 hours agoUp 16 hours9000/tcp php

3.2.4 验证

在/data/yunweipro/commonapp/nginx/html 目录下 放个info.php 文件,文件内容如下

<html><head><title>PHP 测试</title></head><body><?php phpinfo(); ?></body></html>

3.4 安装mysql

3.4.1 获取镜像

3.4.2 配置

mysql:image: /mysql:5.7.33restart: alwayscontainer_name: commonappmysqlenvironment:MYSQL_ROOT_PASSWORD: xxxxx.123ports:- 3306:3306volumes:- /data/yunweipro/commonapp/mysql:/var/lib/mysql- /data/yunweipro/backup/commonapp/mysqlbackupdata:/data/backupcommand:--lower_case_table_names=1--transaction-isolation=READ-COMMITTED--max_allowed_packet=34M--innodb_log_file_size=256M--character-set-server=utf8--collation-server=utf8_bin--log-bin=mysql-bin--server-id=1

新建目录

[root@001 dockercomposescript]# mkdir -p /data/yunweipro/commonapp/mysql[root@001 dockercomposescript]# mkdir -p /data/yunweipro/backup/commonapp/mysqlbackupdata

3.4.3 运行

[root@001 dockercomposescript]# docker-compose -f commonapp.yml up -d[+] Running 3/3⠿ Container commonappmysql Started 0.9s⠿ Container php Running 0.0s⠿ Container commonappnginx Started 0.8s

[root@001 dockercomposescript]# docker ps -aCONTAINER ID IMAGE COMMAND CREATEDSTATUSPORTSNAMESca2bdd70e0d4 nginx:stable-perl "/docker-entrypoint.…" 59 seconds ago Up 58 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp commonappnginxa10b59299085 /mysql:5.7.33 "docker-entrypoint.s…" 59 seconds ago Up 58 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp commonappmysql935121a60fc6 bitnami/php-fpm:7.4.32 "php-fpm -F --pid /o…" 16 hours agoUp 16 hours9000/tcp php[root@001 dockercomposescript]#

3.5 安装phpmysadmin

我这里是下载phpmyadmin 文件然后放到 nginx 下运行,而不是直接安装phpmyadmin 容器

3.5.1 关键配置

config.inc.php 配置数据库地址

commonappmysql 即是上面mysql 的容器名。

$cfg['Servers'][$i]['host'] = 'commonappmysql';

3.5.2 验证

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。