Docker搭建Ngnix、php5.6、php8、postgresql、redis

一、手动创建Volumes(卷),名称为:dev-pgdata

这个内容作为postgresql使用

二、修改docker-compose.yml文件对应路径

E:\wwwroot可修改,也可以修改为卷名

E:/backup/www可修改

E:\dev-server\nginx\conf.d可修改

注意:在php8中fpm端口是9200,所以下面php8端口映射应该是9010:9200,如果一定要9000需要这样改docker exec -it dev-php8.fpm /bin/bash

cd /usr/local/etc/php-fpm.d

vim www.conf 里面的9200端口修改为9000

vim zz-docker.conf 里面的9200端口修改为9000

bash 复制代码
volumes:
  dev-pgdata:  #pg数据库卷组
    external: true
networks:
  dev-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.28.0.0/16
services:
  openresty:
    image: openresty/openresty:latest
    container_name: dev-openresty
    networks:
      dev-network:
        ipv4_address: 172.28.0.10
    ports:
      - "8080:80"  # 这边是8080端口指向80端口,一般修改为80端口指向80端口接口,即80:80
      - "8043:443"
    volumes:
      - E:\wwwroot:/www  #项目的根目录,项目都放在这边,这边设置的是wwwroot下,后续需要变更直接追加就可以
      - E:\dev-server\nginx\conf.d:/etc/nginx/conf.d  #nginx conf
      - E:\dev-server\ningx\log:/var/log/nginx #nginx log
      - E:/backup/www:/data/www        # Win 宿主机路径写法  这是备份,可以不需要直接删除
    restart: always

  php5.6:
    image: php5.6-containers          # 你本地已有这个镜像
    container_name: dev-php5.6
    networks:
      dev-network:
        ipv4_address: 172.28.0.11
    ports:
      - "9020:9000"
    volumes:
      - E:\wwwroot:/www
      - E:/backup/www:/data/www
    restart: always

  php8fpm:
    image: php8.fpm-containers        # 你本地已有这个镜像
    container_name: dev-php8.fpm
    networks:
      dev-network:
        ipv4_address: 172.28.0.12
    ports:
      - "9010:9000"
    volumes:
      - E:\wwwroot:/www
      - E:/backup/www:/data/www
    restart: always
  redis:
    image: redis-containers        # 你本地已有这个镜像
    container_name: dev-redis
    networks:
      dev-network:
        ipv4_address: 172.28.0.15
    ports:
      - "6378:6379"
    volumes:
      - E:/dev-server/redis:/etc/redis #conf 
    restart: always
  postgres:
    image: postgres        # 你本地已有这个镜像
    container_name: dev-postgres
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: M908uJ76e$90e_wew
    networks:
      dev-network:
        ipv4_address: 172.28.0.13
    ports:
      - "16432:5432"
    volumes:
      - dev-pgdata:/var/lib/postgresql/data
      - E:/backup/database:/data/
    restart: always

三、安装

1、docker-compose.yml、openresty-containers.tar、php5.6-containers.tar、php8.fpm-containers.tar和redis-containers.tar都放在G:\dev-server文件加载

openresty-containers.tar、php5.6-containers.tar、php8.fpm-containers.tar和redis-containers.tar需要挂载到docker中

docker load -i G:\dev-server\openresty-containers.tar

docker load -i G:\dev-server\ php5.6-containers.tar

docker load -i G:\dev-server\php8.fpm-containers.tar

docker load -i G:\dev-server\redis-containers.tar

是否挂载成功可以在这边看

2、dos命令进入G:\dev-server

3、运行docker network create --driver bridge --subnet 172.28.0.0/16 dev-network

设置网络,需要注意命令中的ip需要与docker-compose.yml中的一致

4、执行安装:需要注意git-deploy名称需要与容器组名称一致,在这边使用的是dev-server

docker compose -p git-deploy up -d

注意:1、如果对于安装包不是本地的,而是通过docker下载下来的注意docker-compose.yml文件中image需要修改。

以openresty-containers.tar为例:

原来openresty:

image: openresty/openresty:latest

当时下载的名称为openresty/openresty:1.27.1.2-4-alpine-fat

则修改为openresty:

image: openresty/openresty:1.27.1.2-4-alpine-fat

2、如果报一下错误:说明网络已经存在又去创建

直接修改.yml文件

3、需要注意redis安装会失败,需要在redis挂载目录下增减redis.conf文件

4、如果windows需要进入docker的linux系统的php5.6

docker exec -it dev-php5.6 /bin/bash

5、php安装扩展命令。以下命令式安装psql扩展

docker-php-ext-install psql

需要对应安装包的可以去我上传的资源中查看

相关推荐
maosheng11463 小时前
RHCSA的第一次作业
linux·运维·服务器
旺仔.2914 小时前
Linux 信号详解
linux·运维·网络
Hoshino.415 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
Lxinccode5 小时前
docker(28) : 别名配置
docker·容器·eureka·docker别名
恒创科技HK6 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben6 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源7 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry7 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
学不完的7 小时前
Docker数据卷管理及优化
运维·docker·容器·eureka
twc8297 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试