spring-boot Docker 部署

spring-boot Docker 部署

環(huán)境

docker 18.09.7-ce
spring-boot 2.1.6.RELEASE
JDK 1.8

開始

  1. https://start.spring.io/下載一個demo,只依賴web模塊,導入IDE.
  2. 寫點測試代碼
@SpringBootApplication
@RestController
@RequestMapping("/demo")
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @GetMapping
    public String home(){
        return "home";
    }

}
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm
  1. 編寫 Dockerfile
FROM gcr.azk8s.cn/distroless/java

VOLUME /tmp
ADD app.jar  app.jar

EXPOSE 8080

ENTRYPOINT ["java","-jar","app.jar"]
  1. 將測試代碼打包為可執(zhí)行jar文件。并執(zhí)行Docker build命令。
sudo docker build -t demo-app:1.0 -f ./BootDockerfile ./

# demo-app  打包倉庫名
# 1.0 打包tag
# ./BootDockerfile 指定Dockerfile
# ./ 指定可執(zhí)行jar 目錄
  1. 查看docker 鏡像
sudo docker images

REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
demo-app                                         1.0                 f2b2c312684d        5 seconds ago       142MB
  1. 執(zhí)行并測試
sudo docker run -p 8080:8080 -t demo-app:1.0
1.png

常見問題

基礎(chǔ)鏡像,網(wǎng)上一些資源使用的是 java:8,但是生成的鏡像400多M實在有點大。所以我使用了Google 開源的項目 distroless。Distroless 鏡像只包含應用程序及其運行時依賴項,不包含包管理器、shell 以及在標準 Linux 發(fā)行版中可以找到的任何其他程序。

Distroless 鏡像網(wǎng)絡問題,直接使用gcr.io/distroless/java,docker構(gòu)建鏡像是無法下載所以使用了,開源社開源鏡像站點

時區(qū)問題
Distroless 鏡像不包含linux 發(fā)行版中的任何其他程序,所以
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone 命令設置時區(qū)不好使。
修改Dockerfile
ENTRYPOINT ["java","-Duser.timezone=GMT+8","-jar","app.jar"]

編碼問題
保存到數(shù)據(jù)庫內(nèi)容全部為???
修改Dockerfile
ENTRYPOINT ["java","-Duser.timezone=GMT+8","-Dfile.encoding=utf-8","-jar","app.jar"]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容