MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
sudo mkdir /etc/mysql.d/init-sql /data/mysql -p
sudo touch /etc/mysql.d/docker-compose.yaml
sudo wget -P /etc/mysql.d https://raw.fastgit.org/mmh-xu/docker-compose/master/Yearning/docker/etc/mysql/my.cnf
sudo wget -P /etc/mysql.d/init-sql https://raw.fastgit.org/mmh-xu/docker-compose/master/Yearning/init-sql/install.sql
sudo chmod -R 777 /data/mysql /etc/mysql.d
sudo cat > /etc/mysql.d/docker-compose.yaml <<EOF
version: '3'
services:
mysql:
image: mysql:5.7
volumes:
- /etc/mysql.d/:/etc/mysql/conf.d/
- /etc/mysql.d/init-sql/:/docker-entrypoint-initdb.d/
- /data/mysql:/var/lib/mysql/
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: gmt
MYSQL_DATABASE: yearning
MYSQL_USER: gmt
MYSQL_PASSWORD: gmt
networks:
- dc
soar-web:
image: becivells/soar-web
container_name: soar-web
restart: always
ports:
- 5077:5077
networks:
- dc
yearning:
image: zhangsean/yearning:v2.3.2
container_name: yearning
restart: always
depends_on:
- mysql
ports:
- 5080:8000
environment:
HOST: localhost
MYSQL_PASSWORD: gmt
MYSQL_USER: gmt
MYSQL_DB: yearning
TZ: "Asia/Shanghai"
MYSQL_ADDR: mysql
networks:
- dc
networks:
dc:
driver: bridge
EOF
sudo docker-compose -f /etc/mysql.d/docker-compose.yaml up -d
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
sudo mkdir /etc/mongo.d /data/mongo/db /data/mongo/log -p
sudo touch /etc/mongo.d/docker-compose.yaml
sudo chmod -R 777 /data/mongo /etc/mongo.d
sudo cat > /etc/mongo.d/docker-compose.yaml <<EOF
version: '3'
services:
mongo:
image: mongo:4.2
container_name: mongo
ports:
- 27017:27017
restart: always
tty: true
environment:
TZ: Asia/Shanghai
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin123abc123
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/mongo/db:/data/db
networks:
- dc
mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
links:
- mongo
depends_on:
- mongo
ports:
- 27018:8081
environment:
ME_CONFIG_OPTIONS_EDITORTHEME: 3024-night
ME_CONFIG_MONGODB_SERVER: mongo
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_AUTH_DATABASE: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: admin123abc123
networks:
- dc
networks:
dc:
driver: bridge
EOF
sudo docker-compose -f /etc/mongo.d/docker-compose.yaml up -d
sudo docker exec -it fc1d260b294f bash
mongo
use admin
db.createUser({
user: "admin",
pwd: "admin123abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
db.auth('admin','admin123abc123')
exit
mongo
use admin
db.auth('admin','admin123abc123')
use graylog
db.createUser({
user: "graylog",
pwd: "graylog123abc123",
roles: [ { role: "readWrite", db: "graylog" } ]
})
db.auth('graylog','graylog123abc123')
exit
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
sudo mkdir /etc/redis.d /data/redis/db /data/redis/log -p
sudo touch /etc/redis.d/docker-compose.yaml /etc/redis.d/redis-cluster.tmpl
sudo chmod -R 777 /data/redis /etc/redis.d
for port in `seq 7001 7006`; do \
sudo mkdir -p /etc/redis.d/${port}
sudo touch /etc/redis.d/${port}/redis.conf
sudo cat > /etc/redis.d/${port}/redis.conf <<EOF
port ${port}
requirepass 123456
masterauth 123456
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.202.128
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
logfile /data/redis.log
EOF
sudo mkdir -p /data/redis/${port}/data
sudo chmod -R 777 /etc/redis.d/${port} /data/redis/${port}/data;
done
sudo cat > /etc/redis.d/docker-compose.yaml <<EOF
version: '3'
services:
redis7001:
image: redis:6
container_name: redis7001
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7001/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7001/data:/data
ports:
- 7001:7001
- 17001:17001
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
redis7002:
image: redis:6
container_name: redis7002
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7002/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7002/data:/data
ports:
- 7002:7002
- 17002:17002
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
redis7003:
image: redis:6
container_name: redis7003
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7003/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7003/data:/data
ports:
- 7003:7003
- 17003:17003
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
redis7004:
image: redis:6
container_name: redis7004
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7004/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7004/data:/data
ports:
- 7004:7004
- 17004:17004
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
redis7005:
image: redis:6
container_name: redis7005
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7005/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7005/data:/data
ports:
- 7005:7005
- 17005:17005
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
redis7006:
image: redis:6
container_name: redis7006
restart: always
command:
["redis-server", "/usr/local/etc/redis/redis.conf"]
volumes:
- /etc/redis.d/7006/redis.conf:/usr/local/etc/redis/redis.conf
- /data/redis/7006/data:/data
ports:
- 7006:7006
- 17006:17006
environment:
- TZ=Asia/Shanghai
logging:
options:
max-size: '100m'
max-file: '10'
networks:
- dc
networks:
dc:
driver: bridge
EOF
sudo docker-compose -f /etc/redis.d/docker-compose.yaml up -d
sudo docker exec -it redis7001 redis-cli -p 7001 -a 123456 --cluster create 192.168.202.128:7001 192.168.202.128:7002 192.168.202.128:7003 192.168.202.128:7004 192.168.202.128:7005 192.168.202.128:7006 --cluster-replicas 1