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 验证
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│ └── 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.2.3 运行
[root@2023001 dockercomposescript]# docker-compose -f commonapp.yml up -d
[root@2023001 dockercomposescript]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ea54c26796c nginx:stable-perl "/docker-entrypoint.…" 12 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp commonappnginx
935121a60fc6 bitnami/php-fpm:7.4.32 "php-fpm -F --pid /o…" 16 hours ago Up 16 hours 9000/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: registry.kxdigit.com/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@2023001 dockercomposescript]# mkdir -p /data/yunweipro/commonapp/mysql
[root@2023001 dockercomposescript]# mkdir -p /data/yunweipro/backup/commonapp/mysqlbackupdata
3.4.3 运行
[root@2023001 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@2023001 dockercomposescript]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca2bdd70e0d4 nginx:stable-perl "/docker-entrypoint.…" 59 seconds ago Up 58 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp commonappnginx
a10b59299085 registry.xxxxx.com/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 commonappmysql
935121a60fc6 bitnami/php-fpm:7.4.32 "php-fpm -F --pid /o…" 16 hours ago Up 16 hours 9000/tcp php
[root@2023001 dockercomposescript]#
3.5 安装phpmysadmin
我这里是下载phpmyadmin 文件然后放到 nginx 下运行,而不是直接安装phpmyadmin 容器
3.5.1 关键配置
config.inc.php 配置数据库地址
commonappmysql 即是上面mysql 的容器名。
$cfg['Servers'][$i]['host'] = 'commonappmysql';
3.5.2 验证
docker-compose 安装nginx php mysql phpadmin相关推荐
- docker compose 部署 NGINX + PHP+MySQL
安装DOCKER sudo apt-get update sudo apt-get remove docker.io containerd runc sudo apt-get install ca-c ...
- 使用Docker Compose安装mysql
使用Docker Compose安装mysql 1运行 安装 Docker Compose 运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L " ...
- 如何使用Docker Compose安装Drupal
The author selected United Nations Foundation to receive a donation as part of the Write for DOnatio ...
- Docker Compose安装以及入门
Docker 安装 脚本安装 自定义脚本 wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages ...
- docker下安装Nginx的方法
这篇文章主要介绍了docker下安装Nginx的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 一. 环境说明 docker: 18.03.1-ce nginx: 1.15.1 二. 拉 ...
- 今天用pro安装nginx+php+mysql出现故障的解决方法
今天用pro安装nginx+php+mysql出现故障的解决方法 by 伍雪颖 dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1h ...
- docker compose 安装es和kibana
docker compose 安装es和kibana 准备工作 创建es数据存放目录 mkdir /root/app/elk/es/data 增加目录权限 不增加权限,es有可能启动不起来 chmod ...
- docker compose安装elasticsearch
docker compose安装 elasticsearch 安装 创建目录 es: mkdir es cd es 创建挂载目录 data mkdir data 创建 docker-compose.y ...
- 基于Docker容器安装nginx
基于Docker容器安装nginx (1)在Docker仓库中搜索Nginx镜像 docker search nginx (2)从Docker仓库中下载Nginx镜像 docker pull dock ...
最新文章
- 揭密 extern C
- (转) Docker EE/Docker CE简介与版本规划
- Go简单的Goroutine示例
- 比特币钱包(3) BIP32 HD钱包之密钥树
- 实验六 数组 (2)
- 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形中的乱码 19.11 自动发现...
- go 写文件_GO 文档笔记
- 微信又更新了!支持上班摸鱼了
- Android开发BroadcastReceiver广播的使用
- Winform开发框架之终极应用 - 伍华聪 - 博客园
- 轻松学习分布式|系列2|负载均衡算法。
- Confluence 6 重构索引缓慢
- 正交匹配追踪算法(OMP)简介与详解
- 离散数学 习题篇——生成主范式
- java 串口通信读取电子秤
- 记录Android Studio KeyMap 导入的问题
- 【数据分析项目实战】篇1:游戏数据分析——新增、付费和用户行为评估
- abs函数c语言std,c++ 在std :: abs函数上
- Matrices(矩阵)
- Tic Tac Toe
热门文章
- 61_有关多线程中join方法详解
- 【进击的CMMI】组织过程资产与持续改进
- 如何让你在潜在客户的心智中与众不同?《定位》每个公司必须在潜在客户的心智中建立一个位置,这就是所谓的定位。...
- 计算机专业情话0和1,#情话说专业#一个专业一句情话,你被哪个专业甜到了?...
- C++字符串定义与操作
- Golang初次学习
- 华为p30还是安卓系统还是鸿蒙系统,华为p30是安卓系统吗
- 台式计算机亮度调整,事实:如何在台式计算机上设置显示亮度调整
- 如何使用 Apple TV 校准电视以获得最佳色彩?
- Mybatis配置之objectFactory元素详述