IDEA配合Docker插件进行一键部署

打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

  1. <build>
  2.    
  3.     <finalName>${project.artifactId}</finalName>
  4.     <plugins>
  5.         <plugin>
  6.             <groupId>org.apache.maven.plugins</groupId>
  7.             <artifactId>maven-compiler-plugin</artifactId>
  8.             <version>3.1</version>
  9.             <configuration>
  10.                 <source>1.8</source>
  11.                 <target>1.8</target>
  12.             </configuration>
  13.         </plugin>
  14.         <plugin>
  15.             <groupId>org.apache.maven.plugins</groupId>
  16.             <artifactId>maven-surefire-plugin</artifactId>
  17.             <version>2.19.1</version>
  18.             <configuration>
  19.                 <skipTests>true</skipTests>   
  20.             </configuration>
  21.         </plugin>
  22.     </plugins>
  23. </build>
复制代码

  • 编写 Dockerfile 配置文件
  1. # 基础镜像
  2. FROM openjdk:8-jre
  3. # 维护者信息
  4. MAINTAINER pzi<pzi@qq.com>
  5. # 设置容器时区为当前时区
  6. RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone
  7. # /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
  8. # 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
  9. VOLUME /tmp
  10. # 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
  11. ADD msgdemoimpl/target/msgdemoimpl.jar app.jar
  12. # 容器启动执行命令
  13. ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
  14. # 声明容器提供服务端口
  15. EXPOSE 8800
复制代码

4. idea 中配置 docker
● 配置端口以及容器名字

这样的话,就会按照命令 docker -p -d 8800:8800 msgdemo:1.0 的方式启动镜像。

  • 最后,直接运行即可将 jar 包成功部署到服务器
√ TODO 使用dockerfile部署一个jar包 并且测试能否跑通
踩坑:暴露端口后,还需要指定主机端口和容器端口的映射关系,这样才能正确访问接口
tips:
删除 docker images 中REPOSITORY 和 TAG 都为 none 的镜像
docker rmi $(docker images -f "dangling=true" -q)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表