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/
目錄
修改文件權限:
# 修改權限 chmod +x /usr/local/bin/docker-compose
Base自動補全命令:
# 補全命令 curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果這裡出現錯誤,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
permission denied
永久關閉:
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled
重啟虛擬機
啟動mysql和nacos
1.啟動mysql:
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默認不給docker-compose掛載的數據卷讀寫的權限,需要關閉selinux,mysql的數據卷才可以掛載成功
vim /etc/sysconfig/selinux SELINUX=enforcing 改為 SELINUX=disabled 重啟虛擬機
修改自己的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打包工具,將項目中的每個微服務都打包為app.jar
上傳Linux系統
將打包好的app.jar拷貝到cloud-demo1中的每一個對應的子目錄中
cloud-demo1的目錄結構:每一個模塊創建一個單獨的文件夾
docker-compose.yml
文件內容:根據自己需求配置
其他模塊:
上傳Linux
啟動
進入cloud-demo1
目錄:啟動
docker-compose up -d //啟動 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
其他錯誤
查看微服務報錯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默認禁止docker-compose掛載數據卷,所以需要給予權限
解決方案:修改文件vim /etc/sysconfig/selinux
,將SELINUX=enforcing 改為 SELINUX=disabled
,重啟虛擬機
到此這篇關於Docker一鍵部署springcloud項目的方法的文章就介紹到這瞭,更多相關Docker部署springcloud內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Docker Compose的安裝和使用步驟
- docker-compose安裝yml文件配置方式
- 解決使用Docker Compose管理容器的問題
- docker+nextcloud搭建個人雲存儲系統的實現
- Linux安裝Docker詳細教程