Linux系統環境下通過docker部署springcloud項目

經歷了學習springboot,又經歷學習了基於springboot的springcloud微服務開發

學習就要有所沉澱,記錄一下學習踩坑之旅。

上一篇博客介紹瞭如何部署安裝docker以及相關服務環境的配置,傳送門:

https://blog.csdn.net/romanticRose/article/details/101351679

常用的docker命令:

查看鏡像:docker images -a

停止鏡像:docker stop $(docker ps -a -q)

刪除鏡像:docker rmi <imageid>

查看容器:docker ps

刪除容器:docker rm 容器id

啓動服務:docker start ace-dbxt(container容器id)

服務交互:docker attach ace-dbxt

構建鏡像:docker build -t ace-dbxt .(示例)

運行鏡像:docker run -d --network host --name ace-dbxt -p 8763:8763 -p 9423:9423 -it -v /etc/localtime:/etc/localtime:ro ace-dbxt8763 /bin/bash
--network:host方式啓動
--name: 服務名
-p: 開放端口

部署安裝springcloud服務

首先需要準備maven打好的服務jar包以及配置dockerfile文件

Dockerfile 文件

FROM hub.c.163.com/library/java:8-alpine

VOLUME /tmp

ADD ace-center.jar app.jar    ###服務jar包

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]



EXPOSE 8761             ###開放端口

進入服務路徑目錄 執行命令構建docker鏡像(示例)

cd 服務路徑  -->   docker build -t ace-center8761 .

注意:命令結尾的.代表同級目錄

Host方式啓動鏡像

docker run -d --network host --name ace-center -p 8761:8761 -it ace-center8761 /bin/bash

驗證服務即可,其他微服務往註冊中心註冊相同操作;

開發部署問題整理

修改docker容器時間

n -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

echo "Asia/Shanghai" > /etc/timezone

 解決docker下啓動jar包服務時間不同步

修改dockerfile文件

FROM hub.c.163.com/library/java:8-alpine
VOLUME /tmp
ADD ace-dbxt.jar app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Duser.timezone=GMT+08","/app.jar"]

EXPOSE 8763

解決docker鏡像字體問題

FROM hub.c.163.com/library/java:latest
VOLUME /tmp
ADD ace-workflow-1.0-SNAPSHOT.jar app.jar
#拷貝字體文件
COPY ./simsun.ttf /usr/share/fonts/simsun.ttf 
#設置字符集
ENV LANG en_US.UTF-8
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

EXPOSE 8082

首先找到字體文件放置到jar包同級目錄下 (此項目中添加的是黑體字體,具體字體文件如何獲取網上可查找)

不積硅步無以至千里,不積小流無以成江海。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章