docker nacos mysql nginx 集群多台
生活随笔
收集整理的這篇文章主要介紹了
docker nacos mysql nginx 集群多台
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 服務器編排
- 一、mysql
- 1. 創建掛載目錄
- 2. 賦予權限
- 3. 運行容器
- 4. 創建數據庫
- 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. 運行容器
- 四、驗證和實戰
- 4.1. nacos控制臺
- 4.2. nginx驗證
- 4.3. 項目配置
服務器編排
| 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. 創建掛載目錄
mkdir -p /app/mysql/data mkdir -p /app/mysql/conf mkdir -p /app/mysql/sql2. 賦予權限
chmod -R 777 /app/mysql/3. 運行容器
- mysql5.7
- mysql5.8
創建方式有很多種,請參考以下博客,任選其中一種即可
docker mysql:8.0.27
4. 創建數據庫
創建nacos_config,
5. 初始化腳本
數據庫初始化腳本:
https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql
二、nacos-cluster
- 192.168.92.129節點
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節點
2.2. 192.168.92.132
- 192.168.92.132節點
2.3. 192.168.92.133
- 192.168.92.133節點
- 配置說明:
常見坑點:官網使用的是NACOS_SERVER_PORT,對于nacos/nacos-server:1.3.2鏡像,自定義Nacos端口號的時候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因為conf/application.properties里寫了。
三、nginx
由Nginx進行轉發(nginx下部署了3臺Nacos集群)配置文件自行修改
- 192.168.92.129節點
3.1. 運行臨時容器
-目的,為了復制nginx容器內部的配置文件
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添加以下內容:
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. 運行容器
這是在咱們生產真正的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四、驗證和實戰
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總結
以上是生活随笔為你收集整理的docker nacos mysql nginx 集群多台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch7.15.2
- 下一篇: nacos 持久化 mysql(wind