docker nacos mysql nginx 集群一台
文章目錄
- 服務(wù)器編排
- 一、mysql
- 1. 創(chuàng)建掛載目錄
- 2. 賦予權(quán)限
- 3. 運(yùn)行容器
- 4. 創(chuàng)建數(shù)據(jù)庫
- 5. 初始化腳本
- 二、nacos-cluster
- 2.1. nacos-cluster01
- 2.2. nacos-cluster02
- 2.3. nacos-cluster03
- 三、nginx
- 3.1. 運(yùn)行臨時(shí)容器
- 3.2. 配置拷貝
- 3.3. 刪除臨時(shí)容器
- 3.4. 添加配置
- 3.5. 運(yùn)行容器
- 四、驗(yàn)證和實(shí)戰(zhàn)
- 4.1. nacos控制臺(tái)
- 4.2. nginx驗(yàn)證
- 4.3. 項(xiàng)目配置
服務(wù)器編排
| 192.168.92.129 | 8846 | nacos-cluster01 |
| 192.168.92.129 | 8847 | nacos-cluster02 |
| 192.168.92.129 | 8848 | nacos-cluster03 |
| 192.168.92.129 | 3306 | mysql |
| 192.168.92.129 | 80 | nginx |
| JDK | 1.8.0_312 | 基礎(chǔ)環(huán)境 |
| docker | 20.10.11 | 容器編排 |
| nacos-server | 1.4.2 | 服務(wù)發(fā)現(xiàn)組件和統(tǒng)一配置中心 |
| nginx | 1.21.4 | 反向代理、負(fù)載均衡、動(dòng)靜分離 |
| mysql | 5.7 | nacos配置數(shù)據(jù)持久化 |
一、mysql
1. 創(chuàng)建掛載目錄
mkdir -p /app/mysql/data /app/mysql/conf /app/mysql/sql2. 賦予權(quán)限
chmod -R 777 /app/mysql/3. 運(yùn)行容器
- mysql5.7
- mysql5.8
創(chuàng)建方式有很多種,請(qǐ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é)點(diǎn) 8846
2.1. nacos-cluster01
docker run -d \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8846 \ -e NACOS_SERVERS=192.168.92.129:8846,192.168.92.129:8847,192.168.92.129: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 8846:8846 \ --name nacos8846 \ --restart always \ nacos/nacos-server:1.4.22.2. nacos-cluster02
- 192.168.92.129 節(jié)點(diǎn) 8847
2.3. nacos-cluster03
- 192.168.92.129 節(jié)點(diǎn) 8848
- 配置說明:
常見坑點(diǎn):官網(wǎng)使用的是NACOS_SERVER_PORT,對(duì)于nacos/nacos-server:1.3.2鏡像,自定義Nacos端口號(hào)的時(shí)候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因?yàn)閏onf/application.properties里寫了。
三、nginx
由Nginx進(jìn)行轉(zhuǎn)發(fā)(nginx下部署了3臺(tái)Nacos集群)配置文件自行修改
- 192.168.92.129節(jié)點(diǎn)
3.1. 運(yùn)行臨時(shí)容器
-目的,為了復(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. 刪除臨時(shí)容器
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:8845 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.129:8846 weight=1 max_fails=2 fail_timeout=10s;server 192.168.92.129:8847 weight=1 max_fails=2 fail_timeout=10s;}server{listen 8848;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. 運(yùn)行容器
這是在咱們生產(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四、驗(yàn)證和實(shí)戰(zhàn)
4.1. nacos控制臺(tái)
分別訪問:默認(rèn)賬號(hào):nacos 默認(rèn)密碼:nacos
http://192.168.92.129:8846/nacos
http://192.168.92.129:8847/nacos
http://192.168.92.129:8848/nacos
4.2. nginx驗(yàn)證
這是nginx端口是80
http://192.168.92.129/nacos/
4.3. 項(xiàng)目配置
server:port: 8000 spring:cloud:nacos:discovery:service: order2-servserver-addr: 192.168.92.129:80總結(jié)
以上是生活随笔為你收集整理的docker nacos mysql nginx 集群一台的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop集群安装部署_伪分布式集群安
- 下一篇: 达梦数据库驱动