Docker一鍵部署springcloud項(xiàng)目的方法
docker下載的鏡像
1.下載nacos
docker pull nacos:[版本號(hào)]
2.下載mysql
docker pull mysql:[版本號(hào)]
3.安裝docker-compose
Linux下需要通過命令下載:
# 安裝 curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
如果下載速度較慢,或者下載失敗,可以使用提供的docker-compose文件: docker-compose-Linux_jb51.rar
上傳到/usr/local/bin/目錄
修改文件權(quán)限:
# 修改權(quán)限 chmod +x /usr/local/bin/docker-compose
Base自動(dòng)補(bǔ)全命令:
# 補(bǔ)全命令 curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果這里出現(xiàn)錯(cuò)誤,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
permission denied
永久關(guān)閉:
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled
重啟虛擬機(jī)
啟動(dòng)mysql和nacos
1.啟動(dòng)mysql:
2.啟動(dòng)nacos:
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.4.1
3.重啟nacos和防火墻:
docker restart nacos //重啟nacos systemctl restart firewalld.service //重啟防火墻
4.修改配置
linux默認(rèn)不給docker-compose掛載的數(shù)據(jù)卷讀寫的權(quán)限,需要關(guān)閉selinux,mysql的數(shù)據(jù)卷才可以掛載成功
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled 重啟虛擬機(jī)
修改自己的java項(xiàng)目
1.查看nacos地址:
通過docker inspect查看容器的ip,修改自己的SpringCloud項(xiàng)目,將子項(xiàng)目nacos地址改為容器ip
修改mysql的連接地址
修改帶有nacos和mysql地址子模塊的配置文件:bootstrap.yml
?
如果使用mysql8.8.15 修改的地方比較多
datasource: url: jdbc:mysql://192.168.88.130:3306/tb_user?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver //mysql使用5.x不要加cj.
打包
使用maven打包工具,將項(xiàng)目中的每個(gè)微服務(wù)都打包為app.jar


上傳Linux系統(tǒng)
將打包好的app.jar拷貝到cloud-demo1中的每一個(gè)對(duì)應(yīng)的子目錄中
cloud-demo1的目錄結(jié)構(gòu):每一個(gè)模塊創(chuàng)建一個(gè)單獨(dú)的文件夾

docker-compose.yml文件內(nèi)容:根據(jù)自己需求配置

其他模塊:

上傳Linux

啟動(dòng)
進(jìn)入cloud-demo1目錄:?jiǎn)?dòng)
docker-compose up -d //啟動(dòng) docker logs -f xxx //查看日志
遇到的一些問題:
打包失敗:
將父工程的build刪掉:
<!--<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
-->
版本太高
[root@localhost cloud-demo1]# docker-compose up -d Building typeservice unknown flag: --iidfile See 'docker build --help'. ERROR: Service 'typeservice' failed to build : Build failed

其他錯(cuò)誤
查看微服務(wù)報(bào)錯(cuò)failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried:
解決方案:先重啟nacos,再重啟防火墻systemctl restart firewalld.service,
查看mysql日志permission denied
原因分析:linux默認(rèn)禁止docker-compose掛載數(shù)據(jù)卷,所以需要給予權(quán)限
解決方案:修改文件vim /etc/sysconfig/selinux,將SELINUX=enforcing 改為 SELINUX=disabled,重啟虛擬機(jī)
到此這篇關(guān)于Docker一鍵部署springcloud項(xiàng)目的方法的文章就介紹到這了,更多相關(guān)Docker部署springcloud內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解docker中使用systemctl啟動(dòng)服務(wù)報(bào)錯(cuò)的解決辦法
這篇文章主要介紹了詳解docker中使用systemctl啟動(dòng)服務(wù)報(bào)錯(cuò)的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
docker部署數(shù)據(jù)可視化平臺(tái)Metabase
Metabase 把數(shù)據(jù)分析常用的查詢通過一個(gè)個(gè)易于操作的界面呈現(xiàn),本文主要介紹了docker部署數(shù)據(jù)可視化平臺(tái)Metabase,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
dockerExecute 函數(shù)和docker.build的區(qū)別解析
dockerExecute 通常是一個(gè)自定義的函數(shù)或者由特定的 Jenkins 庫(kù)(如 piper-lib)提供,用于在 Docker 容器中執(zhí)行特定的命令,這篇文章主要介紹了dockerExecute 函數(shù)和docker.build的區(qū)別,需要的朋友可以參考下2024-12-12
使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載問題(推薦)
Dockerfile就是一個(gè)可以用來構(gòu)建鏡像的文件,可以理解為一個(gè)腳本文件,可以通過這個(gè)腳本文件自定義生成一個(gè)我們想要的鏡像,鏡像都是一層一層的,里面的每一條命令就是一層,本文給大家介紹使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載,感興趣的朋友一起看看吧2022-03-03
Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹
這篇文章主要介紹了Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12

