最近在琢磨net的微服务架构,市场上并没有像Java、golang那样比较好的架构和社区,最近发现了ADNC这个架构,官网主页教程很详细,但是大家每次运行的时候一般是记不住docker中那么多的命令的,所以我整合了一下,发在下面仅供参考;
此文件不挑系统,适用于三大平台,但前提是要安装好docker和docker-compose,关于这俩安装方法这里不再赘述了;
新建netadnc文件夹,在下面新建docker-compose.yml文件,将内容给拷贝进去,关于其中的映射文件夹建议提前新建好,其中几个映射的文件我也会放在下面;
docker-compose.yml
第一个这个是docker-compose.yml,要注意的是我用了共同的网络persimmon-net;如果运行提示没有该网络,可以执行一下以下命令;
docker network create -d bridge persimmon-net
version: '3.0'
services:
mariadb:
restart: always
image: mariadb:10.5.8
container_name: mariadb
volumes:
- ./mariadb/logs:/var/log/mysql
- ./mariadb/data:/var/lib/mysql
- ./mariadb/conf/my.cnf:/etc/mysql/my.cnf
environment:
- "MYSQL_ROOT_PASSWORD=Mariadb21yu."
- "TZ=Asia/Shanghai"
ports:
# 使用宿主机的13379端口映射到容器的3306端口
# 宿主机:容器
- 13308:3306
networks:
- persimmon_net
redis:
image: redislabs/rebloom:2.2.5
container_name: redis
restart: always # 总是重启
command: redis-server --requirepass Redis21yu.
ports:
- "13379:6379"
volumes:
- ./redis/conf/redis.conf:/etc/redis/redis.conf
- ./redis/data:/data
networks:
- persimmon_net
rabbitmq:
image: rabbitmq:3.8.9-management
container_name: rabbitmq
restart: always # 总是重启
ports:
- "13572:5672"
- "18578:15672"
environment:
- "RABBITMQ_DEFAULT_USER=admin"
- "RABBITMQ_DEFAULT_PASS=Rabbitmq21yu."
networks:
- persimmon_net
mongo:
image: mongo:4.4.3
container_name: mongo
restart: always # 总是重启
ports:
- "13017:27017"
environment:
- "MONGO_INITDB_ROOT_USERNAME=admin"
- "MONGO_INITDB_ROOT_PASSWORD=Mongo21yu."
- "TZ=Asia/Shanghai"
volumes:
- ./mongo/data:/data/db
- ./mongo/backup:/data/backup
networks:
persimmon_net:
external: true
my.cnf
第二个映射的conf是mysql的;
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
redis.conf
第三个映射是redis的conf,这个官网有链接;
https://raw.githubusercontent.com/AlphaYu/adnc/master/doc/redis/redis.conf
运行范例
以上是运行需要的内容,下面按照官网mongo做个范例···
1 、进入到该文件夹中,执行运行命令
docker-compose up -d
等待执行完成出现以下图例
2、进入mongo 容器中,执行官网所述命令
docker exec -it mongo mongo admin
use admin
db.auth('admin','Mongo21yu.')
use logs_dev
db.createCollection('test')
db.createUser({user:'alpha',pwd:'Mongo21yu.',roles:[{role:'readWrite',db:'logs_dev'}]})
成功会出现以下图例