Docker運行Spring Boot項目

創建Dockerfile

首先將項目打好jar包,然後創建Dockerfile,內容如下:

# 基礎鏡像使用java
FROM java:8

# VOLUME 指定了臨時文件目錄爲/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,並鏈接到容器的/tmp
VOLUME /tmp

# 將jar包添加到容器中並更名爲app.jar
ADD jar包名稱.jar app.jar

ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-jar","/app.jar","--spring.profiles.active=test","> /log/app.log"]

解釋下這個配置文件:

VOLUME 指定了臨時文件目錄爲/tmp。其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,並鏈接到容器的/tmp。該步驟是可選的,如果涉及到文件系統的應用就很有必要了。/tmp目錄用來持久化到 Docker 數據文件夾,因爲 Spring Boot 使用的內嵌 Tomcat 容器默認使用/tmp作爲工作目錄。
ENTRYPOINT 中的spring.profiles.active=test是引用多環境配置的yml,不需要的話可以去掉。
如果是第一次打包,它會自動下載java 8的鏡像作爲基礎鏡像,以後再製作鏡像的時候就不會再下載了。

部署文件

將jar包和Dockerfile拷到同一目錄下,我這邊放在/opt/docker/docker-demo
在這裏插入圖片描述

製作鏡像

執行一下命令製作鏡像,-t後面是鏡像名稱,別忘了最後有一個.

docker build -t docker-demo .

在這裏插入圖片描述
使用docker images查看一下鏡像
在這裏插入圖片描述

啓動容器

docker run -d -p 8100:12007 --name demo-container docker-demo

-d:後臺運行
-p:端口映射,格式是外部訪問端口:容器內項目端口
–name: 容器名稱 鏡像名稱
如果需要添加容器hosts,就在run後面添加--add-host,例如

docker run --add-host=myhost:192.168.3.9 -d -p 8001:80 --name demo-container docker-demo

直接瀏覽器訪問: http://服務器ip地址:8100/…
在這裏插入圖片描述

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