docker-compose 安装 mysql redis mongo rabbitmq
1.需要先在宿主机对应目录下放置配置好的配置文件,比如mongodb.conf,redis.config,my.cnf
2.创建文件 docker-compose.yml
version: '3'
# 网络配置
networks:
db-net: # db-net是自定义的网络名称
driver: bridge # 桥接方式
services:
# 1.redis
redis:
image: redis
container_name: redis
restart: always
ports:
- "6379:6379"
volumes:
- ./redis/conf:/etc/redis/
- ./redis/data:/data
# command: [ "redis-server", "--appendonly", "yes" ]
# entrypoint: [ "redis-server", "/etc/redis/redis.conf" ]
environment:
TZ: "Asia/Shanghai"
networks:
- db-net
# 2.mongo
mongo:
image: mongo
container_name: mongo
volumes:
- ./mongo/db:/data/db # /data/db是container中存放数据位置
- ./mongo/conf:/data/conf
ports:
- 27017:27017
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: 123456
TZ: "Asia/Shanghai"
command:
--auth
networks:
- db-net
# mongo web可视化
# adminmongo:
# image: mrvautin/adminmongo
# container_name: adminmongo
# ports:
# - "1234:1234"
# environment:
# - HOST=0.0.0.0
# - DB_HOST=mongodb
# - DB_PORT=27017
# networks:
# - db-net
# 3.mysql:5.7.33
mysql7:
# build:
# context: ./db
image: mysql:5.7.33
container_name: mysql7
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: "123456"
TZ: "Asia/Shanghai"
# MYSQL_USER: 'root'
# MYSQL_PASS: '123456'
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_connections=1000
--max_allowed_packet=128M
volumes:
- ./mysql7/data:/var/lib/mysql
- ./mysql7/conf/mysql:/etc/mysql # docker cp mysql7:/etc/mysql/ ./mysql7/conf/
restart: always
networks:
- db-net
# 4.mysql:8.0.23
mysql8:
# build:
# context: ./db
image: mysql:8.0.23
container_name: mysql8
ports:
- "3308:3306"
environment:
MYSQL_ROOT_PASSWORD: "123456"
TZ: "Asia/Shanghai"
# MYSQL_USER: 'root'
# MYSQL_PASS: '123456'
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_connections=1000
--max_allowed_packet=128M
volumes:
- ./mysql8/data:/var/lib/mysql
- ./mysql8/conf/mysql:/etc/mysql # docker cp mysql8:/etc/mysql/ ./mysql8/conf/
restart: always
networks:
- db-net
# 5. rabbitmq:3.8.14-management
rabbitmq:
image: rabbitmq:3.8.14-management
container_name: rabbitmq
restart: always
ports:
- "5672:5672"
- "15672:15672"
environment:
TZ: "Asia/Shanghai"
RABBITMQ_DEFAULT_USER: "root"
RABBITMQ_DEFAULT_PASS: "123456"
volumes:
- ./rabbitmq/data:/var/lib/rabbitmq
restart: always
networks:
- db-net
3.文件目录下执行 docker-compose up -d