springboot 集成docker插件 自动化部署

准备项目

准备springboot,创建接口端口号7781
在这里插入图片描述

服务器准备

docker开启2375端口教程

vi /lib/systemd/system/docker.service

替换

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

systemctl daemon-reload
service docker restart

开放端口号


firewall-cmd --zone=public --add-port=2375/tcp --permanent

重启查询

firewall-cmd --reload
firewall-cmd --query-port=2375/tcp

访问 http://docker服务器ip:2375/version

安装docker插件

在这里插入图片描述
在这里插入图片描述
下面多出了窗口
在这里插入图片描述

POM

    <properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>myobject</docker.image.prefix>
    </properties>



 <plugin>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>

   <!--使用docker-maven-plugin插件-->
   <plugin>
       <groupId>com.spotify</groupId>
       <artifactId>docker-maven-plugin</artifactId>
       <version>1.2.2</version>

       <configuration>
           <!--镜像名称 Ryan-->
           <!-- 镜像名称必须全部小写 -->
           <imageName>${docker.image.prefix}/${project.name}</imageName>
           <!--指定标签-->
           <imageTags>
               <imageTag>latest</imageTag>
           </imageTags>
           <!--基础镜像jdk 1.8-->
           <baseImage>java</baseImage>
           <!--制作者提供本人信息-->
           <maintainer>中国 yyds</maintainer>
           <!--切换到/ROOT目录-->
           <workdir>/ROOT</workdir>
           <!--<cmd>["java", "-version"]</cmd-->
           <entryPoint>["java","-jar","${project.build.finalName}.jar"]</entryPoint>

           <!--指定远程docker api地址-->
           <dockerHost>http://192.168.9025852.110:2375</dockerHost>

           <!--复制jar包到docker容器指定目录位置-->
           <resources>
               <resource>
                   <targetPath>/ROOT</targetPath>
                   <!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
                   <directory>${project.build.directory}</directory>
                   <!--用于指定需要复制的文件,${project.build.finalName}.jar表示打包后的jar文件-->
                   <include>${project.build.finalName}.jar</include>
               </resource>
           </resources>
       </configuration>
       <executions>
           <!-- package之前清除上一次构建的image -->
           <execution>
               <id>remove-image</id>
               <phase>package</phase>
               <goals>
                   <goal>removeImage</goal>
               </goals>
           </execution>
           <!--当执行mvn package时,执行:mvn  package docker:build-->
           <execution>
               <id>build-image</id>
               <phase>package</phase>
               <goals>
                   <goal>build</goal>
               </goals>
           </execution>
       </executions>
   </plugin>

编译

1.clear 2.package
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

dockerfile 部署

#指定基础镜像,在其上进行定制
FROM java:8
ENV LANG C.UTF-8

# 统一容器与服务器时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp
# 复制打包后的jar名称 重命名为app.jar
ADD demo-0.0.1-SNAPSHOT.jar app.jar

#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 7787

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","-c"]

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值