天天看点

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