zoukankan      html  css  js  c++  java
  • docker-maven-plugin 完全免Dockerfile 文件

    # DockerSpringBootPlugin

      docker-maven-plugin 完全免Dockerfile 文件

      使用docker-maven-plugin 进行完全免 Dockerfile 文件

      注意 EXPOSE 在spring boot 中不起作用

      详细 

      https://github.com/spotify/docker-maven-plugin  

      

      本机不安装 docker  连接其他主机或虚拟机  

       需要添加两个额外配置

          <dockerHost>https://ip:2376</dockerHost>

          <dockerCertPath>证书地址</dockerCertPath>

      这两个地址可以 在 docker 环境变量中查询到  
      如果是 docker-machine 创建的虚拟机 可以同 env 连接的的时候 会显示

      

      
    Mvnen :

    构建镜像


      mvn clean package docker:build

    构建镜像并且推送到镜像表

      mvn clean package docker:build -DpushImage

    复制代码
     <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <configuration>
                        <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                        <!--<dockerDirectory>src/main/docker</dockerDirectory>-->
                        <baseImage>java:8</baseImage>
                        <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    复制代码

      建议  

        如果自己或公司的  docker镜像仓库   ${docker.image.prefix} 设置为自己的 自己的名称  后续上传的时候 就不需要 改名称 了  

         如果自己不想搭建 公司也没有 但是想 可以随时获取的 可以使用 阿里云的 docker  镜像管理   

    实例 GitHub  https://github.com/atliwen/DockerSpringBootPlugin

    使用私有 docker 镜像仓库 

    复制代码
    <properties>
    <docker.maintainer>统一Manven 版本依赖</docker.maintainer>
    <docker.imageName>parent</docker.imageName>
    </properties>

    <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId>
                &lt;configuration&gt;
                    &lt;serverId&gt;docker-hub&lt;/serverId&gt;
                    &lt;registryUrl&gt;https:<span style="color: #008000;">//</span><span style="color: #008000;">10.10.6.50:5000&lt;/registryUrl&gt;</span>
                    &lt;dockerHost&gt;https:<span style="color: #008000;">//</span><span style="color: #008000;">10.10.12.205:2376&lt;/dockerHost&gt;</span>
                    &lt;dockerCertPath&gt;C:Usersadmin.dockermachinemachinesmanager&lt;/dockerCertPath&gt;
                    &lt;imageName&gt;10.10.6.50:5000/${docker.imageName}:${project.version}&lt;/imageName&gt;
                    &lt;baseImage&gt;java:8&lt;/baseImage&gt;
                    &lt;maintainer&gt;${docker.maintainer}&lt;/maintainer&gt;
                    &lt;volumes&gt;/tmp&lt;/volumes&gt;
                    &lt;entryPoint&gt;["java", "-jar", "/${project.build.finalName}.jar"]&lt;/entryPoint&gt;
                    &lt;resources&gt;
                        &lt;resource&gt;
                            &lt;targetPath&gt;/&lt;/targetPath&gt;
                            &lt;directory&gt;${project.build.directory}&lt;/directory&gt;
                            &lt;include&gt;${project.build.finalName}.jar&lt;/include&gt;
                        &lt;/resource&gt;
                    &lt;/resources&gt;
                &lt;/configuration&gt;
            &lt;/plugin&gt;
        &lt;/plugins&gt;
    &lt;/build&gt;</pre>
    
    复制代码

    注意:

      

       在子Maven 项目中  写 定义  镜像名称 和项目名称   

       

       docker  镜像 TAG  为版本号  <version>0.0.1-SNAPSHOT</version>

      

    <properties>
    <docker.maintainer> EDI 订单处理服务</docker.maintainer>
    <docker.imageName>dj-atliwen-ediwebapi</docker.imageName>
    </properties>

       登录私有镜像仓库的配置

     <serverId>docker-hub</serverId>
     <registryUrl>https://10.10.6.50:5000</registryUrl>
    serverId 是Maven 中的配置   配置  Maven  settings.xml 中 server 节点

    复制代码
    <servers>
      <server>
        <id>docker-hub</id>
        <username>foo</username>
        <password>secret-password</password>
        <configuration>
          <email>foo@foo.bar</email>
        </configuration>
      </server>
    </servers>

    // email 也是必须填写的
    复制代码

      

    原文地址:https://www.cnblogs.com/atliwen/p/6101946.html
  • 相关阅读:
    了解java注解
    使用java泛型设计通用方法
    dbutils基本使用
    jquery+ajax+struts2
    c3p0连接数据库的3种方式
    ASP单步调试工具
    设置网页图片不能被用户下载或者另存为
    简单树形菜单
    GBK,GB3212 Unicode编码问题详解
    html页面乱码问题解决方法编码批量转换
  • 原文地址:https://www.cnblogs.com/jpfss/p/10930980.html
Copyright © 2011-2022 走看看