使用Docker部署spring-boot项目

2019-02-12  本文已影响12人  雨中漫步的北极熊
编写Dockerfile文件

在服务器中创建一个docker文件夹存放spring-boot的容器文件,编写Dockerfile文件

# 基础镜像使用java
FROM java:8
# VOLUME指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD mg_b2b-1.0.0.jar app.jar
# 指定运行端口
EXPOSE 8090
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
上传jar包到目录

上传之后看到的效果

root@iZwz94n6p4v6zrlpixxxZ:/home/docker# ls
Dockerfile  mg_b2b-1.0.0.jar
制作镜像

执行以下命令docker build -t spring-boot . 创建镜像spring-boot

docker build -t spring-boot .

输入一下指令可以看到镜像列表

docker images
启动容器

容器和镜像就类似java中的类和实例一样

docker run -d -p 80:8090 spring-boot

-d参数是让容器后台运行
-p 是做端口映射,80指定的是对外请求的端口,即服务器的端口,8090是容器中的端口

访问测试

此时在浏览器请求测试效果即可。

更新项目

在服务器上找到容器上的jar包名

# app.jar是Dockerfile文件中命名的
find / -name app.jar
效果如下:
/var/lib/docker/aufs/diff/4d14ae5fee564043b1ae9e0e1f8d08c797c7f121036497a5647047821a5e8282/app.jar
/var/lib/docker/aufs/diff/4a64c1cb7d7acc7de6aff5c10e6519cd45d9c1f6a4678c5ccf67407105f35972/app.jar
更新替换这些目录中的jar即可

重启docker容器

docker restart <dockerId>
docker常见命令

docker start/stop/restart <dockerId> 启动/关闭/重启 容器
docker rm <dockerId> 移除容器
docker rmi <ImageId> 移除镜像
docker ps -a 查看所有容器
docker images 查看所有镜像
docker build -t <name> 创建镜像(配合Dockerfile文件)

上一篇下一篇

猜你喜欢

热点阅读