一 摘要

本文主要介绍基于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相关推荐

  1. docker compose 部署 NGINX + PHP+MySQL

    安装DOCKER sudo apt-get update sudo apt-get remove docker.io containerd runc sudo apt-get install ca-c ...

  2. 使用Docker Compose安装mysql

    使用Docker Compose安装mysql 1运行 安装 Docker Compose 运行以下命令以下载 Docker Compose 的当前稳定版本:$ sudo curl -L " ...

  3. 如何使用Docker Compose安装Drupal

    The author selected United Nations Foundation to receive a donation as part of the Write for DOnatio ...

  4. Docker Compose安装以及入门

    Docker 安装 脚本安装 自定义脚本 wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages ...

  5. docker下安装Nginx的方法

    这篇文章主要介绍了docker下安装Nginx的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 一. 环境说明 docker: 18.03.1-ce nginx: 1.15.1 二. 拉 ...

  6. 今天用pro安装nginx+php+mysql出现故障的解决方法

    今天用pro安装nginx+php+mysql出现故障的解决方法 by 伍雪颖 dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1h ...

  7. docker compose 安装es和kibana

    docker compose 安装es和kibana 准备工作 创建es数据存放目录 mkdir /root/app/elk/es/data 增加目录权限 不增加权限,es有可能启动不起来 chmod ...

  8. docker compose安装elasticsearch

    docker compose安装 elasticsearch 安装 创建目录 es: mkdir es cd es 创建挂载目录 data mkdir data 创建 docker-compose.y ...

  9. 基于Docker容器安装nginx

    基于Docker容器安装nginx (1)在Docker仓库中搜索Nginx镜像 docker search nginx (2)从Docker仓库中下载Nginx镜像 docker pull dock ...

最新文章

  1. 揭密 extern C
  2. (转) Docker EE/Docker CE简介与版本规划
  3. Go简单的Goroutine示例
  4. 比特币钱包(3) BIP32 HD钱包之密钥树
  5. 实验六 数组 (2)
  6. 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形中的乱码 19.11 自动发现...
  7. go 写文件_GO 文档笔记
  8. 微信又更新了!支持上班摸鱼了
  9. Android开发BroadcastReceiver广播的使用
  10. Winform开发框架之终极应用 - 伍华聪 - 博客园
  11. 轻松学习分布式|系列2|负载均衡算法。
  12. Confluence 6 重构索引缓慢
  13. 正交匹配追踪算法(OMP)简介与详解
  14. 离散数学 习题篇——生成主范式
  15. java 串口通信读取电子秤
  16. 记录Android Studio KeyMap 导入的问题
  17. 【数据分析项目实战】篇1:游戏数据分析——新增、付费和用户行为评估
  18. abs函数c语言std,c++ 在std :: abs函数上
  19. Matrices(矩阵)
  20. Tic Tac Toe

热门文章

  1. 61_有关多线程中join方法详解
  2. 【进击的CMMI】组织过程资产与持续改进
  3. 如何让你在潜在客户的心智中与众不同?《定位》每个公司必须在潜在客户的心智中建立一个位置,这就是所谓的定位。...
  4. 计算机专业情话0和1,#情话说专业#一个专业一句情话,你被哪个专业甜到了?...
  5. C++字符串定义与操作
  6. Golang初次学习
  7. 华为p30还是安卓系统还是鸿蒙系统,华为p30是安卓系统吗
  8. 台式计算机亮度调整,事实:如何在台式计算机上设置显示亮度调整
  9. 如何使用 Apple TV 校准电视以获得最佳色彩?
  10. Mybatis配置之objectFactory元素详述