使用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文件)