工作原因,需要一個(gè)比較完整的開源項(xiàng)目測試本公司產(chǎn)品。偶然發(fā)現(xiàn)RuoYi-Cloud非常適合,它有足夠多的中間件,而且官方提供docker安裝,但我本人在安裝過程中遇到了很多坑,在這里記錄一下防止下次會(huì)再次遇到。
項(xiàng)目地址
https://gitee.com/y_project/RuoYi-Cloud
環(huán)境
內(nèi)存至少16G,處理器至少4核
內(nèi)存小于16G,時(shí)間長了會(huì)導(dǎo)致響應(yīng)過慢,經(jīng)常出現(xiàn)響應(yīng)超時(shí)的情況。
docker部署
-
把所有127.0.0.1和localhost全部代替為主機(jī)IP或者具體的服務(wù)名(如:ruoyi-mysql)。
http://localhost:8080/swagger-ui/index.html -> http://[ip]:8080/swagger-ui/index.html http://localhost:8848/nacos - > http://[ip]:8848/nacos http://localhost:9100/login - > http://[ip]:9100/login 127.0.0.1:9300 -> [ip]:9300 127.0.0.1:8848\localhost:8848 -> ruoyi-nacos:8848 localhost\n port: 6379 -> ruoyi-redis\n port: 6379 localhost:3306 -> ruoyi-mysql:3306
一次性腳本
find . -type f -exec sed -i 's#http://localhost:8080/swagger-ui/index.html#http://10.0.2.52:8080/swagger-ui/index.html#g' {} +
find . -type f -exec sed -i 's#http://localhost:8848/nacos#http://10.0.2.52:8848/nacos#g' {} +
find . -type f -exec sed -i 's#http://localhost:9100/login#http://10.0.2.52:9100/login#g' {} +
find . -type f -exec sed -i 's#127.0.0.1:9300#10.0.2.52:9300#g' {} +
find . -type f -exec sed -i 's#127.0.0.1:8848#ruoyi-nacos:8848#g' {} +
find . -type f -exec sed -i 's#localhost:8848#ruoyi-nacos:8848#g' {} +
echo "\要轉(zhuǎn)譯為\\\\"
find . -type f -exec sed -i 's#localhost\\n port: 6379#ruoyi-redis\\n port: 6379#g' {} +
find . -type f -exec sed -i 's#localhost:3306#ruoyi-mysql:3306#g' {} +
注意:10.0.2.52是我自己的物理機(jī)IP
圖省事可以直接所有127.0.0.1和localhost全部代替為主機(jī)IP,但我為了模擬真實(shí)場景,使用的是服務(wù)名
- 編譯后端代碼
cd RuoYi-Cloud
mvn clean install
- 編譯前端代碼
cd ruoyi-ui
npm install
npm run build:prod
- 修改腳本copy.sh
進(jìn)入目錄
cd ../docker
vim copy.sh
將
cp ../sql/ry_20230223.sql ./mysql/db
cp ../sql/ry_config_20220929.sql ./mysql/db
改為
cp ../sql/*.sql ./mysql/db
- 把前后端包,以及sql文件帶到指定位置
sh copy.sh
- 修改docker-compose.yml
- 有“build:”配置的服務(wù),都要把“image:”給注釋掉,否則“build:”是不生效的,走的還是“image:”,拉的是遠(yuǎn)程的鏡像。
sed -i 's/ image:/ #image:/g' docker-compose.yml
- 運(yùn)行基礎(chǔ)服務(wù)
sh deploy.sh base
查看日志,可能會(huì)發(fā)現(xiàn)nacos會(huì)報(bào)錯(cuò),是因?yàn)閙ysql沒有完全啟起來,重新啟動(dòng)nacos即可。
移動(dòng)要全部運(yùn)行完才能走下面的步驟
- 啟動(dòng)所有應(yīng)用
docker-compose up -d
- 查看各個(gè)服務(wù)的狀態(tài)
docker-compose ps
- 查看整體服務(wù)的日志
docker-compose logs -f
遇到的問題
- 字符集
vim windows.sh
:set ff=unix
:wq
- 安裝docker-compose
yum remove python-pip
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
pip install docker-compose
- docker-compose up -d失敗
報(bào)錯(cuò)信息
ERROR [ruoyi-gateway 1/4] FROM docker.io/library/openjdk:8-jre@sha256……
……
failed to solve: failed to read expected number of bytes: unexpected EOF
需要手動(dòng)pull鏡像,原因未知,可能跟源有關(guān)
docker pull openjdk:8-jre
成功圖:
如有問題,可以來交流交流:
手機(jī)\微信號:15385125253
如有幫助的可以支持一下:文章來源:http://www.zghlxwxcb.cn/news/detail-706907.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-706907.html
到了這里,關(guān)于【docker快速部署微服務(wù)若依管理系統(tǒng)(RuoYi-Cloud)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!