自由空间——xukzhao.ga

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 9|回复: 1

Docker 搭建多容器组合服务 (nginx + PHP)

[复制链接]

22

主题

13

回帖

276

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
276
发表于 2022-5-15 19:59:53 | 显示全部楼层 |阅读模式
Docker 安装 Nginx
(拉取最新 nginx 镜像)
  1. docker pull nginx
复制代码


Docker 安装 PHP
(拉取指定版本的 php )
  1. docker pull php:7.4-fpm
复制代码


新建一些目录,把nginx容器内的相关文件夹挂载到宿主机上,主要方便改写配置,其次是删除容器,这些文件不会丢失
  1. mkdir -p /var/www/{conf,html,logs,ssl}
复制代码

使用 docker 运行 php 、nginx 容器
运行 php 命令
  1. docker run --name myphp -p 9000:9000 -v /var/www/html:/var/www/html -d php:7.4-fpm
复制代码


运行 nginx 命令
  1. docker run --name mynginx -p 80:80 -p 443:443 -v /var/www/html:/usr/share/nginx/html --link=myphp:phpfpm -d nginx
复制代码

配置 default.conf 复制到 mynginx 容器里 /etc/nginx/conf.d 目录下nano /var/www/default.conf
  1. server {
  2. listen       80;
  3. server_name  localhost;

  4. location / {
  5.    root   /usr/share/nginx/html;
  6.    index  index.html index.htm index.php;
  7. }

  8. location ~ \.php$ {
  9.    # 注意 这里是 php 的挂载目录哦
  10.    root           /var/www/html;
  11.    fastcgi_pass   phpfpm:9000;
  12.    fastcgi_index  index.php;
  13.    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  14.    include        fastcgi_params;
  15. }
  16. }
复制代码

复制本地 “default.conf” 配置文件到 “mynginx” 容器里面
docker cp /var/www/default.conf 容器id:/etc/nginx/conf.d
docker exec -it mynginx bash” 命令 进入 mynginx 容器里面 执行 “ service nginx reload ” 加载 nginx 配置文件


  1. cd /var/www/html
复制代码
  1. wget -O xukzhao.zip http://link.jscdn.cn/1drv/aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBdVRCOG93MXl2Xy1nUUxRUExlRGNlZE5JWm0tP2U9NFBWaWll.zip
复制代码
  1. unzip xukzhao.zip
复制代码


回复

使用道具 举报

22

主题

13

回帖

276

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
276
 楼主| 发表于 2022-5-17 01:12:03 | 显示全部楼层
  1. docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=zhao1525 -v /var/www/mariadb:/var/lib/mysql -d mariadb --lower_case_table_names=1
复制代码
  1. docker run --name mariadb -p 3306:3306 -v /var/www/mariadb/conf:/etc/mysql/conf.d -v/var/www/mariadb/logs:/var/log/mysql -v/var/www/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=zhao1525 -d mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
复制代码



修改容器为自启动
docker container update --restart=always 容器id


查看容器IP
  1. docker network inspect bridge
复制代码



进入容器后
  1. mysql -u root -p
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|自由空间

GMT+8, 2025-7-20 20:03 , Processed in 0.898818 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表