IDEA集成Docker实现打包

IDEA集成Docker实现打包

步骤1:修改docker服务配置文件

    # 修改配置文件
    vim /lib/systemd/system/docker.service
    # 修改内容
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    (修改ExecStart那行,并开启2375端口,0.0.0.0代表任何ip都可以访问)
    # 重新加载配置文件
    systemctl daemon-reload
    # 重启docker
    systemctl restart docker.service
    # 查看端口是否开启
    netstar -nlpt   # 如果没有这个命令,安装插件 yum install net-tools
    # 关闭防火墙 / 开发端口号的防火墙
    firewall-cmd --list-ports # 查看
    firewall-cmd --zone=public --add-port=2375/tcp --permanent # 设置
    firewall-cmd --reload     # 重启

步骤2:IDEA工具配置连接Docker

步骤3:使用 docker-maven-plugin插件 ,实现自动化部署

修改pop.xml文件

    <plugin>
          <groupId>com.spotify</groupId>
          <artifactId>docker-maven-plugin</artifactId>
          <version>1.0.0</version>
          <configuration>
              <!--鏡像名字-->
              <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
              <imageTags>
                  <imageTag>latest</imageTag>
    <!--          <imageTag>${project.version}</imageTag>-->
              </imageTags>
              <baseImage>java</baseImage>
              <maintainer>[email protected]</maintainer>
              <workdir>/ROOT</workdir>
              <cmd>["java", "-version"]</cmd>
              <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
              <!--连接Docker 输入对应的IP地址 -->
              <dockerHost>http://123.56.94.235:2375</dockerHost>
              <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
              <resources>
                  <resource>
                    <targetPath>/ROOT</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                  </resource>
              </resources>
           </configuration>
    </plugin>

然后我们执行打包命令,就在Docker服务生成镜像

    mvn clean package docker:build

步骤4:打包自动化,自动化部署

    <!-- 当执行打包命令,就自动执行 build语句 -在pop.xml文件里添加->
    <executions>
        <execution>
            <id>build-image</id>
            <phase>package</phase>
            <goals>
               <goal>build</goal>
            </goals>
        </execution>
     </executions>
     ```

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>