1. 创建映射目录(d://app/)
目录https://pan.baidu.com/s/1jjrLisFD3OIG_Z7RFqitXA?pwd=zlyh%C2%A0
2. 拷贝nginx 配置文件到宿主机( 打开 windows PowerShell 执行一下内容 )
# 运行临时容器
docker run --name nginx -p 80:80 -d nginx
#复制容器内配置到宿主机
docker cp nginx:/etc/nginx/ d:/app/nginx/conf
docker cp nginx:/usr/share/nginx/html/ d:/app/nginx/html
docker cp nginx:/var/log/nginx d:/app/nginx/logs
# 删除临时容器
docker rm -f nginx
2.创建 compose.yml (d://cp/compose.yml)
version: "1"
services:
# redis
redis:
image: redis
ports:
- 6379:6379
command: redis-server /etc/redis/redis.conf --appendonly yes --requirepass "root123456" # redis认证密码
restart: always
volumes:
- //d/app/redis/conf/redis.conf:/etc/redis/redis.conf
- //d/app/redis/data:/data
container_name: redis
#mysql
mysql:
image: mysql:5.7
ports:
- 4000:3306
command: --default-authentication-plugin=mysql_native_password
restart: always
volumes:
- //d/app/mysql/log:/var/log/mysql
- //d/app/mysql/data:/var/lib/mysql
- //d/app/mysql/conf:/etc/mysql/conf.d
environment:
- MYSQL_ROOT_PASSWORD=root123456 #数据库认证密码
container_name: mysql
# 文件对象服务器
minio:
image: minio/minio
ports:
- "9000:9000"
- "9090:9090"
command: server /data --console-address ":9090" -address ":9000"
restart: always
environment:
MINIO_ACCESS_KEY: minioadmin #minio 认证用户
MINIO_SECRET_KEY: minioadmin #minio 认证密码
volumes:
- //d/app/minio/data:/data
container_name: minio
# rabbitmq
rabbitmq:
image: rabbitmq:3.9.10-management
ports:
- "5672:5672"
- "25672:15672"
volumes:
- //d/app/rabbitmq/conf/10-default-guest-user.conf:/etc/rabbitmq/conf.d/10-default-guest-user.conf
environment:
RABBITMQ_DEFAULT_VHOST: alert # Virtual host
RABBITMQ_DEFAULT_USER: admin # 认证用户
RABBITMQ_DEFAULT_PASS: admin # 认证密码
restart: always
container_name: rabbitmq
# nginx 容器
nginx:
image: nginx:latest
container_name: nginx
restart: always
ports:
- "80:80"
volumes:
- //d/app/nginx/conf:/etc/nginx
- //d/app/nginx/html:/usr/share/nginx/html
- //d/app/nginx/logs:/var/log/nginx
4. 一键部署,打开 windows powerShell 执行一下内容
# 切换到 compose.yml 同目录下
docker compose up -d
docker 安装参考: