- Published on
docker-compose 常用配置
本文总结Redis、MySQL、RabbitMQ、MongoDB等服务的docker-compose核心配置,涵盖版本选择、端口映射、数据持久化、密码设置及网络配置,助力快速搭建开发环境。
mysql
version: "3"
services:
mysql:
image: mysql
container_name: mysql
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
ports:
- 3306:3306
volumes:
- /home/docker/mysql/data:/var/lib/mysql
- /home/docker/mysql/conf:/etc/mysql/conf.d
- /home/docker/mysql/logs:/logs
logging:
options:
max-size: "1g"
nginx
version: "3.0"
services:
nginx:
image: nginx:latest
container_name: nginx
volumes:
- /home/docker/nginx/conf.d:/etc/nginx/conf.d
- /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- /home/docker/nginx/logs:/var/log/nginx
- /home/docker/nginx/www:/usr/share/nginx
environment:
TZ: Asia/Shanghai
ports:
- "80:80"
- "443:443"
restart: always
logging:
options:
max-size: "1g"
rabbitmq
version: "3"
services:
rabbitmq:
image: rabbitmq:management-alpine
container_name: rabbitmq
restart: always
environment:
RABBITMQ_DEFAULT_USER: root
RABBITMQ_DEFAULT_PASS: 123456
TZ: Asia/Shanghai
ports:
- 5672:5672
- 15672:15672
volumes:
- /home/docker/rabbitmq/data:/var/lib/rabbitmq
- /home/docker/rabbitmq/log:/var/log/rabbitmq
logging:
options:
max-size: "1g"
mongodb
version: "3"
services:
mongodb:
image: mongo:4.4.0
container_name: mongodb
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=1234567
volumes:
- /home/docker/mongodb/data:/data/db
- /home/docker/mongodb/logs:/data/logs
ports:
- 27017:27017
redis
redis:
image: redis:6.2.6
container_name: redis
command: redis-server --requirepass 123456 --appendonly yes
restart: always
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
ports:
- 6379:6379
volumes:
- /home/docker/redis/data:/data
- /home/docker/redis/conf:/usr/local/etc/redis
consul
consul:
image: hashicorp/consul:1.12.3
container_name: consul
restart: always
volumes:
- /home/docker/consul/data:/consul/data
ports:
- 8300:8300
- 8301:8301
- 8302:8302
- 8500:8500
- 8600:8600
command: "agent -server -ui -node=n1 -bootstrap -client=0.0.0.0 -advertise=192.168.0.137"