Tars - Docker部署
用于记录Tars Docker部署的内容。
参考资料
创建 docker 虚拟网络
docker network create -d bridge --subnet=172.25.0.0/16 --gateway=172.25.0.1 tars
1
启动 MySQL
docker run -d -p 3306:3306 \
--net=tars \
-e MYSQL_ROOT_PASSWORD="123456" \
--ip="172.25.0.2" \
-v /data/framework-mysql:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
--name=tars-mysql \
mysql:5.7
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
进入容器,执行以下命令:
mysql_upgrade -uroot -p --force
1
编译服务
cd ./HelloServer/build/
cmake ..
make -j4
1
2
3
2
3
服务实现
cd build
cmake ..
make -j4
make HelloServer-tar
make HelloServer-upload
1
2
3
4
5
2
3
4
5
重新make cleanall;make;make tar,会重新生成HelloServer.tgz发布包。
使用 tarscloud/framework 部署框架
docker run -d \
--name=tars-framework \
--net=tars \
-e MYSQL_HOST="172.25.0.2" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e MYSQL_USER=root \
-e MYSQL_PORT=3306 \
-e REBUILD=false \
-e INET=eth0 \
-e SLAVE=false \
--ip="172.25.0.3" \
-v /data/framework:/data/tars \
-v /etc/localtime:/etc/localtime \
-p 3000:3000 \
-p 3001:3001 \
tarscloud/framework:latest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Docker 部署 Tars 应用节点
docker run -d \
--name=tars-node \
--net=tars \
-e INET=eth0 \
-e WEB_HOST="http://172.25.0.3:3000" \
--ip="172.25.0.5" \
-v /data/tars:/data/tars \
-v /etc/localtime:/etc/localtime \
-p 9000-9010:9000-9010 \
tarscloud/tars-node:latest
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
备注:
阿里云 安全组设置
https://blog.csdn.net/m0_37383866/article/details/104387736
systemctl stop firewalld.service
vim /etc/ssh/ssh_config
systemctl restart sshd
编辑 /etc/ssh/ssh_config,找到 GSSAPIAuthentication no 这行,删掉前面的注释,然后保存退出
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8