天天看點

docker運作spring-boot項目(筆記)

1.打jar包:

mvn clean install -Dmaven.test.skip=true

# 完了之後得到jar包: act-admin-1.0.0.jar
           

 2.寫Dockerfile

# Docker image for springboot file run
# VERSION 1.0.0
# Author: ltx
# 基礎鏡像使用java
FROM java:8
# 作者
MAINTAINER ltx <[email protected]>
# VOLUME 指定了臨時檔案目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下建立了一個臨時檔案,并連結到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名為app.jar
ADD act-admin-1.0.0.jar app.jar
# 運作jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["nohup", "java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar", "--spring.profiles.active=dev", "> /dev/null 2>&1 &"]
           

3.上傳jar包和Dockerfile到linux上,如下:

[[email protected] docker-jar]# ll
總用量 76228
-rw-r--r--. 1 root root 78050337 2月   5 15:55 act-admin-1.0.0.jar
-rw-r--r--. 1 root root      601 2月   5 17:03 Dockerfile
           

4.打docker鏡像

# 進入目錄, 執行:
docker build -t act-demo:1.0.0 .

# act-demo為鏡像名, 1.0.0為鏡像TAG

# 完了之後,檢視鏡像:
[[email protected] docker-jar]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
act-demo            1.0.0               d0ee47d440ce        24 minutes ago      799MB
           
docker運作spring-boot項目(筆記)

5.啟動

# 啟動鏡像
docker run --privileged -d -p 8080:8888 -v /home/oa/files:/qmy/oa/files -v /home/oa/logs:/logs -e JAVA_OPTS='-Xms256m -Xmx256m -XX:+HeapDumpOnOutOfMemoryError' --name act-demo-ltx act-demo:1.0.0

# 參數說明
# --privileged為授權建立本地目錄/home/oa/files和/home/oa/logs
# 8888為springboot的服務端口
# 8080為伺服器對外提供服務的端口,映射到docker容器的8888端口
# /qmy/oa/files為springboot項目裡面配置的檔案上傳的存儲目錄

完了之後,檢視執行個體:
[[email protected] docker-jar]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
9cb08f403128        act-demo:1.0.0      "nohup java -Djava.s…"   22 minutes ago      Up 22 minutes       0.0.0.0:8080->8888/tcp   act-demo-ltx
           

6.随便找個接口驗證下

docker運作spring-boot項目(筆記)

檢視接口驗證的檔案是否上傳成功,OK!

[[email protected] docker-jar]# cd /home/oa/files
[[email protected] files]# ll
總用量 20
-rw-r--r--. 1 root root 17089 2月   5 17:19 5a308eb9-b318-4cb8-9b98-3c759f145233.png