一、手动创建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
需要对应安装包的可以去我上传的资源中查看