Docker-compose常用軟體部署(mysql、redis、rabbitmq)
阿新 • • 發佈:2020-07-18
Docker-compose常用軟體部署(mysql、redis、rabbitmq)
廢話不多說,下面就直接給出部署檔案已經啟動指令碼,這個會持續更新。以下的部署方式均是單例部署。高可用或者其他部署方案我會單獨寫相應的文章。
- mysql資料庫
- redis快取
- rabbitmq訊息佇列
compose-mysql.yaml
version: '3' # docker network create mysql_bridge networks: mysql_bridge: driver: bridge services: mysql-server: image: docker.io/mysql:5.7 container_name: mysql-server restart: always environment: # 指定root密碼。不指定則會啟動失敗 - MYSQL_ROOT_PASSWORD:123456 volumes: # 同步本地時間 - /etc/localtime:/etc/localtime:ro # 初始化執行的sql # - ./init:/docker-entrypoint-initdb.d/ # db配置 - ./conf/my.cnf:/etc/my.cnf # db檔案存放地址 - ./db_data:/var/lib/mysql ports: - 3306:3306 networks: - mysql_bridge
start-mysql.sh
#! /usr/bin/bash # 定義一個名稱變數 network_name="mysql_bridge" filterName=`docker network ls | grep $network_name | awk '{ print $2 }'` if [ "$filterName" == "" ]; then # 不存在就建立 docker network create $network_name echo "Created network $network_name success!!" fi docker-compose -f ./compose-mysql.yaml up -d docker ps -a docker logs -f mysql-server
compose-redis.yaml
version: '3' # docker network create redis_bridge networks: redis_bridge: driver: bridge services: redis-server: image: docker.io/redis:latest container_name: redis-server restart: always command: redis-server --requirepass "123456" volumes: - ./redis_data:/var/lib/redis ports: - 6379:6379 networks: - redis_bridge
start-redis.sh
#! /usr/bin/bash
# 定義一個名稱變數
network_name="redis_bridge"
filterName=`docker network ls | grep $network_name | awk '{ print $2 }'`
if [ "$filterName" == "" ]; then
# 不存在就建立
docker network create $network_name
echo "Created network $network_name success!!"
fi
docker-compose -f ./compose-redis.yaml up -d
docker ps -a
docker logs -f redis-server
compose-rabbitmq.yaml
version: '3'
# docker network create rabbitmq_bridge
networks:
rabbitmq_bridge:
driver: bridge
services:
rabbitmq:
image: rabbitmq:management-alpine
container_name: rabbitmq-server
restart: always
volumes:
- ./data:/var/lib/rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=ming
- RABBITMQ_DEFAULT_PASS=ming123456
ports:
- "15672:15672"
- "5672:5672"
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
networks:
- rabbitmq_bridge
start-rabbitmq.sh
#! /usr/bin/bash
# 定義一個名稱變數
network_name="rabbitmq_bridge"
filterName=`docker network ls | grep $network_name | awk '{ print $2 }'`
if [ "$filterName" == "" ]; then
# 不存在就建立
docker network create $network_name
echo "Created network $network_name success!!"
fi
docker-compose -f ./compose-rabbitmq.yaml up -d
docker ps -a
docker logs -f rabbitmq-server