idea集成 docker发布代码到服务器

181 阅读2分钟

前沿

  • 本次教材是基于本地 idea 集成 docker 插件,然后利用本地的 Dockerfile文件实现发布 web 项目到服务器。

第一步需要下载 docker 插件

在这里插入图片描述 第二步编写Dockerfile文件

#项目所依赖的jdk镜像
FROM openjdk:8
#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp
#将maven构建好的jar添加到镜像中,第二个为别名
#ADD target/*.jar app.jar#复制上下文目录下的target/springboot-demo-docker-0.0.1-SNAPSHOT.jar 到容器里
COPY target/ql-center-endpoint-1.0-SNAPSHOT.jar app.jar
​
# 设置环境变量,指定使用的配置文件
ENV SPRING_PROFILES_ACTIVE=online
ENV TZ=Asia/Shanghai
​
#暴露的端口号(和项目端口号等同)
EXPOSE 8087
​
# 开放远程调试端口
#ENV JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,address=8002,server=y,suspend=n"
#EXPOSE 8002#镜像所执行的命令
ENTRYPOINT exec java -jar -Xmx512m -Xms512m app.jar

需要注意的几点:

1.此Dockerfile文件 存放位置是:项目启动@SpringBootApplication 的 src 同层,如下图

2.ENV SPRING_PROFILES_ACTIVE=online:可以指定使用一份线上的文件配置:application-online.properties

3.开放远程调试端口,开发的时候可能需要,上线的时候一定要关闭。

在这里插入图片描述

第三步编写 docker 发布脚本

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

点+ 添加一条 maven 命令: clean package -Dautoconfig.interative=false -Dmaven.test.skip=true -Dmaven.javadoc.skip=true

注意点:

1.添加的时候选择 Dockerfile。

2.第一个 DockerFile点后面的拉下剪头,理论上会自动识别出来。

3.Image tag:取一个自己喜欢的名字。模板 xxx:<版本号>

4.Container name:容器名字取一个。

5.Environment variables:添加不同环境使用不同的配置文件

6.Run options: 相当于我们的 docker run 后面的一些参数

7.Before launch:就是在执行发布之前需要干嘛,这边建议就是编译下整个项目 ○ clean package -Dautoconfig.interative=false -Dmaven.test.skip=true -Dmaven.javadoc.skip=true

第四步编写 docker 服务器连接脚本,此处采用 tcp 的方式, 注意服务器上面需要开通本机ip白名单,和开通端口号:2375,不然无法连接通

在这里插入图片描述

到此为止就可以愉快的编译发布!