Docker啟動(dòng)安裝nacos的實(shí)現(xiàn)示例
前言
- 安裝之前你需要準(zhǔn)備一個(gè)mysql,當(dāng)前安裝方式是將數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)中的,這里的部署是單機(jī)模式
1、Docker 拉取鏡像
docker pull nacos/nacos-server
- PS:這是拉取最新的nacos版本,如果需要拉取別的版本可以加:版本號(hào)(如:docker pull nacos/nacos-server:v2.2.0)
2、掛載目錄
mkdir -p /mydata/nacos/logs/ #新建logs目錄 mkdir -p /mydata/nacos/conf/ #新建conf目錄
- PS:這一步是添加映射文件夾,將宿主機(jī)的文件映射到nacos容器中
3、啟動(dòng)nacos并復(fù)制文件到宿主機(jī),關(guān)閉容器
啟動(dòng)容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server
復(fù)制文件
docker cp nacos:/home/nacos/logs/ /mydata/nacos/ docker cp nacos:/home/nacos/conf/ /mydata/nacos/
關(guān)閉容器
docker rm -f nacos
- PS:這一步啟動(dòng)nacos是為了將nacos里面的文件拷貝出到掛載目錄中,這樣我們就可以直接修改掛載目錄中文件來(lái)映射到容器里面去了
4、mysql中創(chuàng)建nacos所需的表
- mysql中新建一個(gè)庫(kù),名字可自定義,這里就用nacos-config
- 從github中找到創(chuàng)建表的文件,在nacos-config庫(kù)中執(zhí)行,創(chuàng)建所需的表
5、再次啟動(dòng)nacos
docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server
- PS : 復(fù)制上面的語(yǔ)句執(zhí)行失敗,可以將上面的執(zhí)行語(yǔ)句變成一行,如下,可直接復(fù)制執(zhí)行
docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server
語(yǔ)句講解
- docker run -d : 啟動(dòng)容器 -d是后臺(tái)啟動(dòng)并返回容器id的意思
- –name nacos :為容器指定一個(gè)名稱(chēng)
- -p 8848:8848 -p 9848:9848 -p 9849:9849 : 指定端口映射,注意這里的p不能大寫(xiě),大寫(xiě)是隨機(jī)端口映射
- –privileged=true : 擴(kuò)大容器內(nèi)的權(quán)限,將容器內(nèi)的權(quán)限變?yōu)閞oot權(quán)限,不加的話就是普通用戶權(quán)限,可能會(huì)出現(xiàn)cannot open directory
- -e JVM_XMS=256m : 為jvm啟動(dòng)時(shí)分配的內(nèi)存
- -e JVM_XMX=256m : 為jvm運(yùn)行過(guò)程中分配的最大內(nèi)存
- -e MODE=standalone : 使用 standalone模式(單機(jī)模式),MODE值有cluster(集群)模式/standalone模式兩種,MODE必須大寫(xiě)
- -v /mydata/nacos/logs/:/home/nacos/logs : 將容器的/home/nacos/logs目錄掛載到 /mydata/nacos/logs
- -v /mydata/nacos/conf/:/home/nacos/conf/: 將容器的/home/nacos/conf目錄掛載到 /mydata/nacos/conf
- –restart=always :重啟docker時(shí),自動(dòng)啟動(dòng)相關(guān)容器
注意事項(xiàng)
- 需要在防火墻開(kāi)放相關(guān)端口,如果你是云服務(wù)器,開(kāi)放安全組,下面提供相關(guān)語(yǔ)句
## 開(kāi)放端口8848 9848 9849 firewall-cmd --zone=public --add-port=8848/tcp --permanent firewall-cmd --zone=public --add-port=9848/tcp --permanent firewall-cmd --zone=public --add-port=9849/tcp --permanent ## 重啟防火墻 firewall-cmd --reload ## 查看所有開(kāi)啟的端口 firewall-cmd --zone=public --list-ports
- PS:這里有點(diǎn)小問(wèn)題,重啟完防火墻之后,需要重啟docker
## 重啟docker systemctl restart docker
- 這里最容易犯錯(cuò)的就是掛載目錄對(duì)應(yīng)不上,可以看下自己語(yǔ)句中的-v 后面的目錄是否映射正確,博主第一次安裝的時(shí)候logs里面還有一個(gè)logs文件夾,conf里面還有個(gè)conf文件夾,導(dǎo)致出錯(cuò)
6、修改配置文件
- 主要修改的是application.properties文件
## 在宿主機(jī)中修改application.properties文件 vim /mydata/nacos/conf/application.properties
- 文件修改的地方(修改為你對(duì)應(yīng)的mysql)
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root
- PS :因?yàn)槲覀冊(cè)诘谌揭呀?jīng)復(fù)制了logs和conf到了我們的宿主機(jī)里面,那么我們可以直接修改application.properties文件映射到容器里,可以通過(guò)下面的語(yǔ)句來(lái)查看
## 進(jìn)入到nacos容器里 docker exec -it nacos /bin/bash ## 查看application.properties文件 cat /home/nacos/conf/application.properties ## 退出容器 exit
- PS:如果文件沒(méi)有修改成功的話,說(shuō)明掛載目錄映射的不對(duì),仔細(xì)查看一下,可以通過(guò)下面的方法來(lái)查看是否正確
docker inspect --format="{{json .Mounts}}" nacos
7、訪問(wèn)頁(yè)面
http://ip:8848/nacos/index.html
到此這篇關(guān)于Docker啟動(dòng)安裝nacos的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Docker啟動(dòng)安裝nacos內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解基于docker 如何部署surging分布式微服務(wù)引擎
這篇文章主要介紹了詳解基于docker 如何部署surging分布式微服務(wù)引擎,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Docker基于現(xiàn)有鏡像構(gòu)建新鏡像的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker基于現(xiàn)有鏡像構(gòu)建新鏡像的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Docker部署MinIO對(duì)象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的操作方法
MinIO是一個(gè)開(kāi)源的軟件,可以免費(fèi)使用,還可以在普通硬件上運(yùn)行,降低了存儲(chǔ)成本,本文介紹在本地Docker中部署MinIO服務(wù),并實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)管理界面,節(jié)約云服務(wù)器運(yùn)行成本,感興趣的朋友一起看看吧2023-12-12詳解如何修改 Docker 默認(rèn)網(wǎng)橋地址
這篇文章主要介紹了詳解如何修改 Docker 默認(rèn)網(wǎng)橋地址,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05docker部署nginx服務(wù)的實(shí)現(xiàn)步驟
本文主要介紹了docker部署nginx服務(wù)的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08