以 Docker方式发布SpringBoot 应用

2019-06-24  本文已影响0人  有料美拓

以 Docker方式发布SpringBoot 应用

一、为什么要用 Docker方式来发布

想用 Docker 来部署应用其实已经满长时间了,苦于没有时间认真研究,一直忙于 代码的编写,二来也没有什么需要多次重复部署的需求。当然第二点更直接。所以都没认真看过文档。

进来有个上线的系统,需要同时部署多份,才发现,确实有些麻烦,如果维护则更加麻烦。数据库安装、java 环境参数、应用程序,都需要考虑,头绪太多了。所以 Docker 化部署再次提及日程。

经过一段研究已经小有成效,记录下来以备忘记的时候重新恢复记忆使用。Ubuntu 14.04 LTS 环境测试通过。

二、环境准备

三、概念准备

1.Docker 相关概念
2.Dockerfile

四、实操

1.编写 Dockerfile

这里我们假定,将我们的程序部署在 docker 镜像的 root 目录中去,docker 启动后执行我们的 app.jar 包

FROM java:8
MAINTAINER pcode@mtttt.cn
ADD app.jar /root/app.jar
ADD ./res/ /root/res/
ADD ./lib/ /root/lib/
ADD ./T/ /root/T/
WORKDIR /root/
ENTRYPOINT ["java","-jar","app.jar"]
2.Build镜像

讲了很多,实际上真的要去做了,内容并不多。将上面的内容编写进一个 Dockerfile,存放在于 app.jar 一个目录内

docker build -f Dockerfile .

默认创建的 docker镜像没有 tag,可以手动运行 docker tag 名来来指定 tag 比如 docker tag imageid 镜像名:标签 这样就搞定了。

​ docker images

就会发现我们打包好的镜像已经在了。

3.运行镜像

假定我们的程序跑在 9020 端口,那么接下来就是最后一步了。

docker run -d -p 8080:9020 imageid

我们把镜像中的 9020 端口映射到 host server 的 8080 端口上,这样就可以直接访问 server 的 8080 端口来使用服务了;

五、导出导入容器

docker export 290b8d571b59e137d62be1 > update.tar

注意要根据实际情况替换镜像的 id

docker import - update < update.tar

六、导入导出镜像

save
命令
docker save [options] images [images...]

示例
docker save -o nginx.tar nginx:latest

docker save > nginx.tar nginx:latest
其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
load
命令
docker load [options]

示例
docker load -i nginx.tar

上一篇 下一篇

猜你喜欢

热点阅读