Docker一鍵部署springcloud項(xiàng)目的方法
docker下載的鏡像
1.下載nacos
docker pull nacos:[版本號(hào)]
2.下載mysql
docker pull mysql:[版本號(hào)]
3.安裝docker-compose
Linux下需要通過(guò)命令下載:
# 安裝 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ù)卷讀寫(xiě)的權(quán)限,需要關(guān)閉selinux,mysql的數(shù)據(jù)卷才可以?huà)燧d成功
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled 重啟虛擬機(jī)
修改自己的java項(xiàng)目
1.查看nacos地址:
通過(guò)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 //查看日志
遇到的一些問(wèn)題:
打包失?。?/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
其他錯(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創(chuàng)建鏡像并上傳云端服務(wù)器的實(shí)現(xiàn)示例
鏡像是一種輕量級(jí)、可執(zhí)行的獨(dú)立軟件包,用來(lái)打包軟件運(yùn)行環(huán)境和基于運(yùn)行環(huán)境開(kāi)發(fā)的軟件,本文介紹了如何使用Docker創(chuàng)建鏡像,并將其上傳到云端,感興趣的可以了解一下2023-08-08Docker集群的創(chuàng)建與管理實(shí)例詳解
這篇文章主要介紹了Docker集群的創(chuàng)建與管理,結(jié)合實(shí)例形式詳細(xì)分析了docker集群原理、創(chuàng)建、訪(fǎng)問(wèn)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06docker容器非root用戶(hù)提權(quán)的問(wèn)題解決
本文主要介紹了docker容器非root用戶(hù)提權(quán)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04docker搭建tomcat運(yùn)行環(huán)境的實(shí)現(xiàn)步驟
很多時(shí)候我們測(cè)試web系統(tǒng)需要一個(gè)tomcat運(yùn)行環(huán)境,這時(shí)docker就派上用場(chǎng)了,本篇文章主要介紹了docker搭建tomcat運(yùn)行環(huán)境的實(shí)現(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)知識(shí),一起看看吧2024-11-11Docker容器化應(yīng)用與結(jié)構(gòu)
本文詳細(xì)講解了Docker的容器化應(yīng)用與結(jié)構(gòu),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載問(wèn)題(推薦)
Dockerfile就是一個(gè)可以用來(lái)構(gòu)建鏡像的文件,可以理解為一個(gè)腳本文件,可以通過(guò)這個(gè)腳本文件自定義生成一個(gè)我們想要的鏡像,鏡像都是一層一層的,里面的每一條命令就是一層,本文給大家介紹使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載,感興趣的朋友一起看看吧2022-03-03