IntelliJ_IDEA部署SpringBoot项目到Docker容器

2 篇文章 0 订阅
1 篇文章 0 订阅

一、安装Docker

Docker的安装请参考 https://blog.csdn.net/kevinyankai/article/details/80227364,具体步骤这里就略过

我的系统是CentOS 7,安装了宝塔7.0.2。

  • Docker版本

  • 查看下Docker的宿主机IP地址

  •  开启Docker的远程访问

执行如下命令:

sudo vi /lib/systemd/system/docker.service

修改以ExecStart开头的内容如下图红框内所示 

这里我将端口号设置为2375。然后重启docker服务 :

systemctl daemon-reload
service docker restart

在宝塔安全设置中开启2375端口

然后测试是否可以连接到docker api

如果是在CentOS 7下远程连接有问题,可以尝试如下配置:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

 二、IntelliJ IDEA中安装Docker integration插件

我的IDEA版本为2019.2

  • 安装插件

在IDEA中打开File -> Settings...菜单,在插件市场中搜索Docker插件,并安装

  •  配置连接Docker服务端

其中Engine API URL处的地址为Docker服务端的IP地址,也就是前面执行ifconfig时显示的IP地址。

连接成功,如下所示

三、项目配置

  •  创建Dockerfile

在项目的bin目录下创建docker目录,并创建Dockerfile文件,内容如下:

FROM frolvlad/alpine-java:jdk8-slim
#FROM frolvlad/alpine-oraclejdk8-slim
MAINTAINER QySoft@163.com
ENV TZ "Asia/Shanghai"
ENV LANG C.UTF-8
VOLUME /tmp

WORKDIR /app
ADD target/web.war .
RUN jar -xvf web.war
# RUN chmod -R 755 ./*

ADD bin/docker/application-prod.yml ./classes/config

ENV JAVA_OPTS "-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m"
ENV JAVA_OPTS "$JAVA_OPTS -Dspring.profiles.active=prod"

ENTRYPOINT java -cp /app $JAVA_OPTS org.springframework.boot.loader.WarLauncher

EXPOSE 8980

在项目bin目录下创建applicatoin-prod.yml SpringBoot项目配置文件,具体内容根据项目不同自行设置,如配置实际的数据库地址等。

  • 创建运行/调试的配置项

 

具体配置内容如下:

         Server:  选择前面配置的Docker服务端连接

         Dockerfile: Dockerfile文件所在位置

         Context folder:  执行Dockerfile文件时的上下文环境。这个路径一定要注意,写错了会导致执行Dockerfile错误,比如会找不到要拷贝的文件等

         Image tag:  发布到服务端后镜像的标签,可随便填写

         Container name: 发布后运行时docker容器的名字

         Bind ports: 运行时绑定的端口号

四、发布并运行项目

  • 编译项目

Build项目,在target目录下生成web.war包

  • 连接docker服务端

前面的docker服务器配置成功后,在service视图中即可看到服务端列表,选择要启动的docker服务端,点击绿色箭头启动

启动成功后即可看见服务端的所有镜像和容器

  • 执行Dockerfile,发布并运行项目

执行Docker启动/调试配置项,开始执行Dockerfile,创建镜像,容器并运行容器

启动成功后如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值