资讯详情

【Docker进阶篇 DockerFile】2.SpringBoot项目远程打包

前言

上篇讲到了SpringBoot做成镜像,但是操作很麻烦,需要手动拖到Linux并且需要执行更多的操作。本文描述了远程包装过程。

打包SpringBoot项目

pom.xml内容

   <!-- Docker maven plugin -->             <plugin>                 <groupId>com.spotify</groupId>                 <artifactId>docker-maven-plugin</artifactId>                 <version>1.0.0</version>                 <configuration>                     <!-- docker私服的地址 -->                     <dockerHost>http://192.168.112.135:2375</dockerHost>                     <!--镜像名和版本号-->                     <imageName>office:1.0.0</imageName>                     <!-- 如果需要重复构建相同标签名称的镜像,可以 forceTags 设置为 true -->                     <forceTags>true</forceTags>                     <!--Dockerfile的位置 -->                     <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>                     <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->                     <resources>                         <resource>                             <targetPath>/</targetPath>                             <directory>${project.build.directory}</directory>                             <include>${project.artifactId}.jar</include>                         </resource>                     </resources>                 </configuration>             </plugin>             <!-- Docker maven plugin --> 

创建Dockerfile

image-20220304113825887

DockerFile 内容

# 使用基本镜像java FROM java:8 # 作者 MAINTAINER terry # VOLUME 指定了临时文件目录为/tmp。 # 主机有效果 /var/lib/docker 临时文件创建在目录下,并链接到容器/tmp VOLUME /tmp # 添加jar包到容器并重命名 ADD tools-office.jar office.jar # 运行jar包 RUN bash -c 'touch /office.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/office.jar"] # ENV JAVA_OPTS="-Xms512m -Xmx512m" # -Djava.security.egd=file:/dev/./urandom 加速tomcat启动 # ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar /demo.jar"] #暴露8080端口 EXPOSE 8080 

打包

使用Idea maven工具,找到package选项打包。

包装成功后会再次target目录生成jar包

制作成Docker镜像

开放docker私服端口供外部访问

  1. 编辑docker.service文件

    vim /usr/lib/systemd/system/docker.service 
  2. 在ExecStart附加配置(开放2375端口容易被黑客攻击,一般设置在内网)

-H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock  

  1. 重启docker

    systemctl daemon-reload service docker restart  

使用maven docker插件找到docker:build选项

先做改操作Docker镜像,上传到私服。

上传成功后

docker查看镜像

运行镜像

docker run -d --name tools -p 8080:8080 -t tools:1.0.0 

查看容器运行日志

docker logs -f -t --tail 50 tools 

标签: lt固态继电器s312zklt固态继电器s303zl

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台