Docker运行SpringBoot项目-创新互联

1. 打包SpringBoot 项目

使用 idea 的maven 打包,在target 目录下生成一个jar文件 docker-boot-demo-1.0.0.jar

成都创新互联公司是专业的织金网站建设公司,织金接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行织金网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

注意:这个jar包的运行端口是 8080

2. 准备环境

(1)在 linux 主机里新建一个目录 /home/admin/app,用于存放bash文件和jar包。然后在该目录 下创建bash文件和容器配置文件即Dockerfile 

(2)创建bash文件

vim run.sh

java -jar /usr/data/docker-boot-demo-1.0.0.jar

/usr/data 是docker容器内的路径,这是docker自己管理的,不需要手动创建。后面会将此路径挂载到当前目录  /home/admin/app

(3) 创建容器配置文件 Dockerfile, 并写入以下内容

vim Dockerfile

FROM openjdk:8-jdk-alpine
EXPOSE 8080
ENTRYPOINT ["sh","/usr/data/run.sh"]

注意EXPOSE 是 jar包运行的端口,与我们本地的一致

3. 构建镜像

还是在 /home/admin/app 目录下构建镜像,注意最后面的 "." 表示Dockerfile 在当前目录

docker build -t mydemo:1.0.0 .

4. 创建容器并运行

docker run -d -it --name=mydemo -p 8081:8080 -v /home/admin/app:/usr/data mydemo:1.0.0

执行后返回容器ID。

要查看运行的日志可以通过命令

docker logs --tail=100 mydemo

前面一个8081 是表示映射到宿主机的端口, 即外部浏览器可以通过访问宿主机的这个端口调用到接口,这个可以随意指定, 前提是宿主机的防火墙已经开放了这个端口.

后面的是8080 是程序执行的端口

5. 补充说明

以上的做法, 我的思路是将容器内的目录挂载到宿主机的目录下. 也就是将docker 容器内的

/usr/data 挂载到宿主机的 /home/admin/app 目录下。这样做的好处是方便后期更新维护。

比如以后这个springboot项目改了代码,重新打包命名为 docker-boot-demo-2.0.0.jar

只需要将新的jar包上传到/home/admin/app 目录,并将启动脚本中1.0.0.jar 改成 2.0.0.jar即可。

最后将之前的老容器删除,再重新运行容器。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章题目:Docker运行SpringBoot项目-创新互联
本文来源:http://pwwzsj.com/article/cdpedp.html