docker安裝nacos2.2.4圖文詳解(含:nacos容器啟動(dòng)參數(shù)、環(huán)境變量、常見問題整理)
一、鏡像下載
1、在線下載
在一臺能連外網(wǎng)的linux上執(zhí)行docker鏡像拉取命令
docker pull nacos:2.2.4
2、離線包下載
兩種方式:
方式一:
-)在一臺能連外網(wǎng)的linux上安裝docker執(zhí)行第一步的命令下載鏡像
-)導(dǎo)出
# 導(dǎo)出鏡像到本地當(dāng)前目錄 docker save -o nacos-2.2.4.tar nacos:2.2.4
方式二:
-)Window桌面程序:Docker Desktop
-)下載鏡像
-)安裝鏡像導(dǎo)出插件(說明過程就復(fù)用了之前mysql的圖)
-)將鏡像文件保存到window本地(圖略)
3、發(fā)布?xì)v史 | Nacos 官網(wǎng)
官方的下載地址,k8s環(huán)境用不上,因?yàn)楣俜經(jīng)]有發(fā)布鏡像(自行打鏡像的除外)
二、安裝
1、在線安裝
見離線安裝(只比離線安裝少一步導(dǎo)入動(dòng)作)
2、離線安裝
-)導(dǎo)入鏡像
docker load -i nacos-2.2.4.tar
-)查看鏡像
[docker@GZ***-PM153160 ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE nacos/nacos-server v2.2.4 f151dab7a111 19 months ago 814MB
-)創(chuàng)建映射目錄
創(chuàng)建mysql配置文件目錄、數(shù)據(jù)文件目錄,并修改目錄權(quán)限(不想掛載外部配置的此步聚可以跳過,nacos本身的日志查看容器日志一般也夠用)
sudo mkdir -p /opt/nacos/docker-nacos/conf sudo mkdir -p /data1/nacos/docker-nacos/log sudo chown -R docker.docker /opt/nacos # 作者data1目錄下全是docker用戶程序數(shù)據(jù),所以沒有指定子目錄 sudo chown -R docker.docker /data1 # sudo chown -R docker.docker /data1/nacos
-)啟動(dòng)容器
docker run \ --name smet-nacos \ --network="host" \ -e PREFER_HOST_MODE=ip \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=10.130.***.160 \ -e MYSQL_SERVICE_PORT=3307 \ -e MYSQL_SERVICE_DB_NAME=nacos \ -e MYSQL_SERVICE_USER=nacos \ -e MYSQL_SERVICE_PASSWORD='#!FlG*****' \ -e NACOS_APPLICATION_PORT=8848 \ -p 18848:8848 -p 19848:9848 -p 19849:9849 \ -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" \ -e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50**********=" \ -e NACOS_AUTH_ENABLE=true \ -e NACOS_AUTH_CACHE_ENABLE=true \ -e NACOS_SERVER_TIMEOUT=5000 \ -v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties \ -d f151dab7a111
這個(gè)命令做了以下幾件事:
--name smet-nacos
:給容器命名為smet-nacos
--network="host":主機(jī)網(wǎng)絡(luò)模式
-e PREFER_HOST_MODE=ip :
使用IP模式
-e MODE=standalone :
單機(jī)模式
-e SPRING_DATASOURCE_PLATFORM=mysql :使用mysql數(shù)據(jù)源
-e MYSQL_SERVICE_HOST=10.130.***.160 : mysql主機(jī)ip(與網(wǎng)絡(luò)模式有關(guān))
-e MYSQL_SERVICE_PORT=3307 : mysql主機(jī)port(與網(wǎng)絡(luò)模式有關(guān))
-e MYSQL_SERVICE_DB_NAME=nacos : 數(shù)據(jù)庫名
-e MYSQL_SERVICE_USER=nacos : 數(shù)據(jù)庫用戶名
-e MYSQL_SERVICE_PASSWORD='#!FlG****' : 數(shù)據(jù)庫用戶密碼
-e NACOS_APPLICATION_PORT=8848 : nacos端口
-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" :mysql jdbc 連接參數(shù)
-e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50b2tlbi5zZWNyZXQua2V5LnNtZXQ=" : 鑒權(quán)token(可選)
-e NACOS_AUTH_ENABLE=true : 鑒權(quán)開關(guān)(可選,與NACOS_AUTH_TOKEN配套)
-e NACOS_SERVER_TIMEOUT=5000 : nacos服務(wù)超時(shí)時(shí)間
-v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties :配置文件映射 (可選)
-p 18848:8848 -p 19848:9848 -p 19849:9849
-d
:讓容器在后臺運(yùn)行
f151dab7a111 : 使用的鏡像id
-)查看容器
[docker@GZ***-PM153160 ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 54d8c2684e70 f151dab7a111 "bin/docker-startup.…" 33 minutes ago Up 33 minutes smet-nacos
-)日志
OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release. ,--. ,--.'| ,--,: : | Nacos 2.2.4 ,`--.'`| ' : ,---. Running in stand alone mode, All function modules | : : | | ' ,'\ .--.--. Port: 8848 : | \ | : ,--.--. ,---. / / | / / ' Pid: 1 | : ' '; | / \ / \. ; ,. :| : /`./ Console: http://10.130.153.160:8848/nacos/index.html ' ' ;. ;.--. .-. | / / '' | |: :| : ;_ | | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io ' : | ; .' ," .--.; |' ; :__| : | `----. \ | | '`--' / / ,. |' | '.'|\ \ / / /`--' / ' : | ; : .' \ : : `----' '--'. / ; |.' | , .-./\ \ / `--'---' '---' `--`---' `----' 2025-01-30 21:15:42,440 INFO Tomcat initialized with port(s): 8848 (http) 2025-01-30 21:15:42,514 INFO Root WebApplicationContext: initialization completed in 3358 ms 2025-01-30 21:15:46,030 INFO Adding welcome page: class path resource [static/index.html] 2025-01-30 21:15:46,697 WARN You are asking Spring Security to ignore Ant [pattern='/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2025-01-30 21:15:46,698 INFO Will not secure Ant [pattern='/**'] 2025-01-30 21:15:46,724 INFO Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5cf3157b, org.springframework.security.web.context.SecurityContextPersistenceFilter@4adc663e, org.springframework.security.web.header.HeaderWriterFilter@3240b2a4, org.springframework.security.web.csrf.CsrfFilter@1e1e9ef3, org.springframework.security.web.authentication.logout.LogoutFilter@74e6094b, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@8bd86c8, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2d3ef181, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@625dfff3, org.springframework.security.web.session.SessionManagementFilter@7d3fb0ef, org.springframework.security.web.access.ExceptionTranslationFilter@31c628e7] 2025-01-30 21:15:46,754 INFO Exposing 1 endpoint(s) beneath base path '/actuator' 2025-01-30 21:15:46,819 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos' 2025-01-30 21:15:46,845 INFO Nacos started successfully in stand alone mode. use external storage
-)從容器內(nèi)部拷貝配置文件
可選
[docker@GZ***-PM153160 ~]$ docker cp 54d8c2684e70:/home/nacos/conf/application.properties /opt/nacos/docker-nacos/application.properties Successfully copied 12.3kB to /opt/nacos/docker-nacos/application.properties
-)調(diào)整其他配置(可選)
vi /opt/nacos/docker-nacos/application.properties
按需修改后,刪除原容器,添加配置文件映射參數(shù)后重新創(chuàng)建容器
docker run \ --name smet-nacos \ --network="host" \ -e PREFER_HOST_MODE=ip \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=10.130.***.160 \ -e MYSQL_SERVICE_PORT=3307 \ -e MYSQL_SERVICE_DB_NAME=nacos \ -e MYSQL_SERVICE_USER=nacos \ -e MYSQL_SERVICE_PASSWORD='#!FlG*****' \ -e NACOS_APPLICATION_PORT=8848 \ -p 18848:8848 -p 19848:9848 -p 19849:9849 \ -e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" \ -e NACOS_AUTH_TOKEN="bmFjb3MuY29yZS5hdXRoLnBsdWdpbi5uYWNvcy50**********=" \ -e NACOS_AUTH_ENABLE=true \ -e NACOS_AUTH_CACHE_ENABLE=true \ -e NACOS_SERVER_TIMEOUT=5000 \ -v /opt/nacos/docker-nacos/application.properties:/home/nacos/conf/application.properties \ -d f151dab7a111
-)重啟容器
[docker@GZ***-PM153160 ~]$ docker restart f151dab7a111 f151dab7a111
三、登陸
默認(rèn)賬密:nacos/nacos
四、總結(jié)
大家需要的docker安裝nacos相關(guān)的所有知識點(diǎn)基本上都在此文中了,作者親測有效,請放心參考~
附件一:遇到的問題總結(jié) 1、docker啟動(dòng)報(bào)No DataSource set
docker啟動(dòng)nacos 報(bào) dumpservice bean construction failure : No DataSource set
可能的原因:
-)數(shù)據(jù)庫配置不正確,或沒有配置(本文上面的docker run。。。命令中帶了),作者使用的host網(wǎng)絡(luò)模式省去了很多麻煩,當(dāng)然讀者也可以使用其他網(wǎng)絡(luò)模式,只要保證nacos容器能連上mysql服務(wù)就行。
2、docker啟動(dòng)日志顯示use embeded storage
docker沒有使用mysql存儲模式啟動(dòng)
如果使用了mysql存儲模式,應(yīng)在日志最后顯示:use external storage
可能的原因:
-)數(shù)據(jù)庫配置不正確,或沒有配置。參考作者上面的啟動(dòng)命令即可
附件二:docker網(wǎng)絡(luò)模式
Docker支持多種網(wǎng)絡(luò)模式,主要包括以下幾種:
Bridge模式:這是Docker的默認(rèn)網(wǎng)絡(luò)模式。每個(gè)容器都會(huì)連接到虛擬網(wǎng)橋上,類似于一個(gè)虛擬交換機(jī)。容器之間可以通過IP地址或容器名稱進(jìn)行通信,但與外部網(wǎng)絡(luò)隔離。Bridge模式適用于大多數(shù)標(biāo)準(zhǔn)應(yīng)用場景,特別是需要容器之間通信但又與外部網(wǎng)絡(luò)隔離時(shí)。
Host模式:在這種模式下,容器直接使用宿主機(jī)的網(wǎng)絡(luò)接口,沒有獨(dú)立的IP地址。容器與宿主機(jī)共享網(wǎng)絡(luò)棧,但與其他容器隔離。Host模式適用于需要高性能網(wǎng)絡(luò)連接的應(yīng)用,如高頻交易系統(tǒng)、實(shí)時(shí)數(shù)據(jù)處理等。然而,這種模式的安全性較低,因?yàn)槿萜髋c宿主機(jī)共享網(wǎng)絡(luò)。
Container模式:一個(gè)容器可以共享另一個(gè)容器的網(wǎng)絡(luò)棧。新容器通過指定--net=container:<target_container>來共享目標(biāo)容器的網(wǎng)絡(luò)資源。這種模式適用于需要緊密協(xié)作的容器,如服務(wù)發(fā)現(xiàn)或負(fù)載均衡場景。然而,多個(gè)容器共享網(wǎng)絡(luò)??赡軙?huì)影響安全性。
None模式:在這種模式下,容器沒有分配網(wǎng)絡(luò)接口,通常用于容器間的依賴關(guān)系,如使用Docker-in-Docker場景。None模式適用于不需要網(wǎng)絡(luò)連接的容器,或者作為其他容器的網(wǎng)絡(luò)依賴。
Overlay網(wǎng)絡(luò):這種模式允許跨主機(jī)的容器相互通信,而無需操作系統(tǒng)管理路由。Overlay網(wǎng)絡(luò)適用于Docker Swarm集群,特別適合分布式應(yīng)用的場景。
IPvLAN模式:這種模式提供對容器的IPv4和IPv6地址進(jìn)行詳細(xì)控制的能力,適用于需要精細(xì)控制容器IP地址、標(biāo)記和路由的場景。
Macvlan模式:這種模式讓容器像網(wǎng)絡(luò)上的物理設(shè)備一樣運(yùn)行,通過為每個(gè)容器分配自己的MAC地址來實(shí)現(xiàn)。適用于需要像物理設(shè)備一樣運(yùn)行的容器場景。
選擇合適的網(wǎng)絡(luò)模式取決于具體的應(yīng)用需求和部署環(huán)境。Bridge模式適用于大多數(shù)標(biāo)準(zhǔn)應(yīng)用場景,Host模式適用于高性能需求,Container模式適用于緊密協(xié)作的容器,None模式適用于不需要網(wǎng)絡(luò)連接的容器,Overlay、IPvLAN和Macvlan模式則提供了更高級的網(wǎng)絡(luò)配置選項(xiàng)。
到此這篇關(guān)于docker安裝nacos2.2.4詳解(含:nacos容器啟動(dòng)參數(shù)、環(huán)境變量、常見問題整理)的文章就介紹到這了,更多相關(guān)docker安裝nacos2.2.4內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安裝部署分布式數(shù)據(jù)庫?OceanBase的詳細(xì)過程
這篇文章主要介紹了Docker安裝部署分布式數(shù)據(jù)庫?OceanBase,快速的體驗(yàn) OceanBase 的自動(dòng)化部署過程,及了解 OceanBase 集群安裝成功后的目錄特點(diǎn)和使用方法,需要的朋友可以參考下2022-06-06詳解如何修改 Docker 默認(rèn)網(wǎng)橋地址
這篇文章主要介紹了詳解如何修改 Docker 默認(rèn)網(wǎng)橋地址,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05Docker安裝Nginx并部署及MySQL容器構(gòu)建全過程
眾所周知Docker是一種容器化技術(shù),可以用來快速部署和管理應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Docker安裝Nginx并部署及MySQL容器構(gòu)建的相關(guān)資料,需要的朋友可以參考下2024-02-02基于Kubernetes和Docke實(shí)現(xiàn)留言簿案例
這篇文章主要介紹了基于Kubernetes和Docke實(shí)現(xiàn)留言簿案例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10如何使用Docker部署FTP和Nginx并通過HTTP訪問FTP里的文件
本文介紹了如何使用Docker部署FTP服務(wù)器和Nginx,并通過HTTP訪問FTP中的文件,通過將FTP數(shù)據(jù)目錄掛載到Nginx容器內(nèi),Nginx可以提供文件列表和下載功能,推薦使用Docker Compose來管理容器2025-03-03使用docker-compose實(shí)現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法
灰度發(fā)布是一種軟件部署策略,它允許將新版本的部分功能或服務(wù)逐步推送給用戶,而不是一次性對所有用戶進(jìn)行大規(guī)模更新,本文主要給大家介紹了使用docker-compose實(shí)現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法,需要的朋友可以參考下2024-11-11Docker安裝Redis并介紹可視化客戶端進(jìn)行操作
這篇文章主要介紹了Docker安裝Redis并介紹可視化客戶端進(jìn)行操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04