docker nacos mysql nginx 集群多台
文章目錄
- 服務(wù)器編排
- 一、mysql
- 1. 創(chuàng)建掛載目錄
- 2. 賦予權(quán)限
- 3. 運行容器
- 4. 創(chuàng)建數(shù)據(jù)庫
- 5. 初始化腳本
- 二、nacos-cluster
- 2.1. 192.168.92.129
- 2.2. 192.168.92.132
- 2.3. 192.168.92.133
- 三、nginx
- 3.1. 運行臨時容器
- 3.2. 配置拷貝
- 3.3. 刪除臨時容器
- 3.4. 添加配置
- 3.5. 運行容器
- 四、驗證和實戰(zhàn)
- 4.1. nacos控制臺
- 4.2. nginx驗證
- 4.3. 項目配置
服務(wù)器編排
| 192.168.92.129 | 8848 | nacos-cluster01 |
| 192.168.92.129 | 3306 | mysql |
| 192.168.92.129 | 80 | nginx |
| 192.168.92.132 | 8848 | nacos-cluster02 |
| 192.168.92.133 | 8848 | nacos-cluster03 |
一、mysql
1. 創(chuàng)建掛載目錄
mkdir -p /app/mysql/data mkdir -p /app/mysql/conf mkdir -p /app/mysql/sql2. 賦予權(quán)限
chmod -R 777 /app/mysql/3. 運行容器
- mysql5.7
- mysql5.8
創(chuàng)建方式有很多種,請參考以下博客,任選其中一種即可
docker mysql:8.0.27
4. 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建nacos_config,
5. 初始化腳本
數(shù)據(jù)庫初始化腳本:
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
二、nacos-cluster
- 192.168.92.129節(jié)點
2.1. 192.168.92.129
docker run -d \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8848 \ -e NACOS_SERVERS=192.168.92.129:8848,192.168.92.132:8848,192.168.92.133:8848 \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.92.129 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.92.129 \ -p 8848:8848 \ --name nacos-cluster8848 \ --restart always \ nacos/nacos-server:1.4.2- 192.168.92.132節(jié)點
2.2. 192.168.92.132
- 192.168.92.132節(jié)點
2.3. 192.168.92.133
- 192.168.92.133節(jié)點
- 配置說明:
常見坑點:官網(wǎng)使用的是NACOS_SERVER_PORT,對于nacos/nacos-server:1.3.2鏡像,自定義Nacos端口號的時候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因為conf/application.properties里寫了。
三、nginx
由Nginx進(jìn)行轉(zhuǎn)發(fā)(nginx下部署了3臺Nacos集群)配置文件自行修改
- 192.168.92.129節(jié)點
3.1. 運行臨時容器
-目的,為了復(fù)制nginx容器內(nèi)部的配置文件
mkdir /app/nginx/conf/ /app/nginx/dist -p chmod 777 /app/nginx -R docker run \ -d \ --name nginx-tmp \ -p 80:80 \ nginx:1.21.43.2. 配置拷貝
docker cp nginx-tmp:/etc/nginx/conf.d/default.conf /app/nginx/conf/default.conf docker cp nginx-tmp:/usr/share/nginx/html/index.html /app/nginx/dist/index.html3.3. 刪除臨時容器
docker rm -f nginx-tmp3.4. 添加配置
在/app/nginx/conf/掛載目錄下新建 nacos.conf
cd /app/nginx/conf/ vim nacos.conf添加以下內(nèi)容:
upstream nacos {server 192.168.92.129:8848 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.132:8848 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.133:8848 weight=1 max_fails=2 fail_timeout=10s;}server{listen 80;server_name 192.168.92.129;location / {proxy_pass http://nacos;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;add_header X-Cache $upstream_cache_status;add_header Cache-Control no-cache;}}3.5. 運行容器
這是在咱們生產(chǎn)真正的nginx容器
docker run \ -d \ --name nginx \ -p 80:80 \ -v /app/nginx/dist:/usr/share/nginx/html:ro \ -v /app/nginx/conf:/etc/nginx/conf.d \ --privileged=true \ --restart always \ nginx:1.21.4四、驗證和實戰(zhàn)
4.1. nacos控制臺
http://192.168.92.129:8848/nacos
http://192.168.92.132:8848/nacos
http://192.168.92.133:8848/nacos
4.2. nginx驗證
這是nginx端口是80
http://192.168.92.129/nacos/
4.3. 項目配置
server:port: 8000 spring:cloud:nacos:discovery:service: order2-servserver-addr: 192.168.92.129:80總結(jié)
以上是生活随笔為你收集整理的docker nacos mysql nginx 集群多台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch7.15.2
- 下一篇: 类选择器遍历赋值_利用反射实现配置表数据