Docker一鍵部署springcloud項目的方法
docker下載的鏡像
1.下載nacos
docker pull nacos:[版本號]
2.下載mysql
docker pull mysql:[版本號]
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自動補(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)錯誤,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
permission denied
永久關(guān)閉:
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled
重啟虛擬機(jī)
啟動mysql和nacos
1.啟動mysql:
2.啟動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項目
1.查看nacos地址:
通過docker inspect
查看容器的ip,修改自己的SpringCloud項目,將子項目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打包工具,將項目中的每個微服務(wù)都打包為app.jar
上傳Linux系統(tǒng)
將打包好的app.jar拷貝到cloud-demo1中的每一個對應(yīng)的子目錄中
cloud-demo1的目錄結(jié)構(gòu):每一個模塊創(chuàng)建一個單獨的文件夾
docker-compose.yml
文件內(nèi)容:根據(jù)自己需求配置
其他模塊:
上傳Linux
啟動
進(jìn)入cloud-demo1
目錄:啟動
docker-compose up -d //啟動 docker logs -f xxx //查看日志
遇到的一些問題:
打包失?。?/p>
將父工程的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
其他錯誤
查看微服務(wù)報錯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項目的方法的文章就介紹到這了,更多相關(guān)Docker部署springcloud內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker創(chuàng)建鏡像并上傳云端服務(wù)器的實現(xiàn)示例
鏡像是一種輕量級、可執(zhí)行的獨立軟件包,用來打包軟件運行環(huán)境和基于運行環(huán)境開發(fā)的軟件,本文介紹了如何使用Docker創(chuàng)建鏡像,并將其上傳到云端,感興趣的可以了解一下2023-08-08docker搭建tomcat運行環(huán)境的實現(xiàn)步驟
很多時候我們測試web系統(tǒng)需要一個tomcat運行環(huán)境,這時docker就派上用場了,本篇文章主要介紹了docker搭建tomcat運行環(huán)境的實現(xiàn)步驟,感興趣的可以了解一下2017-01-01Docker+Jupyter 部署算力服務(wù)的解決方案
Docker+Jupyter部署算力服務(wù)為AI學(xué)習(xí)框架提供了一種高效的發(fā)布和使用方案,本文以Windows環(huán)境為例,介紹了如何下載安裝Docker工具,以及如何根據(jù)AI框架所需的Python版本拉取合適的Jupyter鏡像,本文介紹了Docker+Jupyter 部署算力服務(wù)的相關(guān)知識,一起看看吧2024-11-11Docker容器化應(yīng)用與結(jié)構(gòu)
本文詳細(xì)講解了Docker的容器化應(yīng)用與結(jié)構(gòu),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04使用Dockerfile實現(xiàn)數(shù)據(jù)卷的掛載問題(推薦)
Dockerfile就是一個可以用來構(gòu)建鏡像的文件,可以理解為一個腳本文件,可以通過這個腳本文件自定義生成一個我們想要的鏡像,鏡像都是一層一層的,里面的每一條命令就是一層,本文給大家介紹使用Dockerfile實現(xiàn)數(shù)據(jù)卷的掛載,感興趣的朋友一起看看吧2022-03-03