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