本文中重點講解截止2023年1月最新的1.2.0版本的部署方法
開啟clone到本地的專案,目錄結構如下
在此目錄下建立docker-compose.yml檔案,寫入內容:
version: "3"
services:
apollo-configservice: ##容器服務名
container_name: apollo-configservice ##容器名
build: apollo-configservice/src/main/docker/ ##dockerfile路徑
image: apollo-configservice ##映象名
ports:
- "9180:8080"
volumes:
- "/opt/logs/100003171" ##將/opt/logs/100003171目錄掛載到宿主機的/users/mobin/opt/logs/100003171方便在宿主機上檢視日誌
environment:
- spring_datasource_url=jdbc:mysql:
- spring_datasource_username=root
- spring_datasource_password=123456
apollo-adminservice:
container_name: apollo-adminservice
build: apollo-adminservice/src/main/docker/
image: apollo-adminservice
ports:
- "9181:8090"
depends_on:
- apollo-configservice
volumes:
- "/opt/logs/100003172"
environment:
- spring_datasource_url=jdbc:mysql:
- spring_datasource_username=root
- spring_datasource_password=123456
apollo-portal:
container_name: apollo-portal
build: apollo-portal/src/main/docker/
image: apollo-portal
ports:
- "9182:8070"
depends_on:
- apollo-adminservice
volumes:
- "/opt/logs/100003173"
environment:
- spring_datasource_url=jdbc:mysql:
- spring_datasource_username=root
- spring_datasource_password=123456
這裡注意兩點:
1.在這裡,我將原本的8080,8070,8090埠分別對映到9180,9181,9182埠,因為8080等埠是常用埠,可能會和其他專案發生衝突。
2.記得修改mysql的連線位址
講一下,這裡可能有人會問為什麼不用apollo專案中提供的quickstart-docker指令碼,因為:
在quickstart-docker中,apollo開源專案組為了減少部署操作,內建了mysql等一系列配置,我們在使用的時候肯定不會使用內建的東西,我們希望將資料存在我們自己的mysql資料庫中。還有就是quickstart-docker是為了我們方便演示使用的
<1>
<2>
<3>
注意:這三個目錄分別對應apollo-adminservice,apollo-configservice,apollo-portal服務,同時我們需要分別對這三個目錄下的dockerfile檔案進行一下修改,開啟dockerfile檔案
第五步登入mysql,匯入下面資料夾中sql檔案,進行資料庫初始化
匯入成功後,看到多了兩個資料庫
第六步將整個專案apollo資料夾打包成zip檔案,使用ftp或scp命令將檔案上傳到centos7伺服器中,在伺服器上執行以下命令
unzip apollo.zip
cd apollo
docker-compose up -d
然後看到命令輸出
就表示這三個docker容器已建立成功
使用docker ps -a
檢視docker服務
發現已成功執行,現在開啟瀏覽器,輸入
就可以看到apollo的後台管理頁面了
第七步在第六步時,雖然部署完成但是這裡有兩個地方需要修改,否則會報錯
1.進入apollo-portal容器
修改apollo-env環境變數
2.修改資料庫apolloconfigdb的serverconfig表中的eureka.service.url欄位
修改完成後重啟apollo的三個容器即可
注意:預設賬號是apollo
預設密碼admin
登入apollo後,開啟系統資訊頁,可以看到這裡有個home page url,因為我們是在docker中部署的,所以這個地方顯示的ip位址是有問題的,它的ip位址是docker容器中的預設ip位址,這個位址是有問題的,因為我們在整合到專案中的時候,訪問的是伺服器ip,所以docker容器中的ip位址是訪問不了的,整合的時候就發現讀取不了apollo的配置
官方有給出homepageurl的修改方法,但測試發現還是有問題的
官方的解決方案
在第3條
這裡不建議直接修改homepageurl,最好的解決辦法如下:
linux部署apollo教程
因為公司用到了這項技術,所以也想自己實踐一下,在網上看了很多教程,遇到的問題基本上看到的部落格幾乎都是同一篇文章,解決花了點時間,所以也來自己更一篇自己部署的心得,有同樣問題的可以參考一下我的這篇文章 apollo需要eureka服務,所以這裡也先不說如何部署了,網上有很多搭建eureka的方法,使...
攜程apollo 安裝部署
修改 demo.sh 檔案,把資料庫對應改一下,還有 meta server url,如下 portal url http localhost 8070儲存退出 確保 3個埠號未被占用,可以用此命令查詢 lsof i 8080 啟動 demo.sh start 關閉 demo.sh stop 當看到...
apollo3 5搭建教程(除錯成功)
作者除錯3.5 成功,最新版系統完整除錯過程正在整理中,需要詳細調整文件與技術支援郵箱a18235212571 ubunutu 19 搭建細節 教程 git官方文件link git官方文件 docker官方文件link docker官方文件 由於電腦正在跑 無法進行截圖,佔時使用馮老師文章中的圖,跑...