Docker-Maven插件

Docker-Maven插件的使用

    修改宿主机的 Docker 配置,让其可以远程访问

    vi /usr/lib/systemd/system/docker.service
    # CentOS
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
    # Ubuntu
    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
        刷新配置,重启服务

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    # 启动私有仓库容器
    docker start ContainerRegistry
   

    检查docker是否监听2375端口

    netstat -anp|grep 2375
      

    在 pom.xml 添加 docker-maven 插件配置

<!-- docker的maven插件,
maven 地址:https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin
官网:https://github.com/spotify/docker-maven-plugin -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.0.0</version>
    <configuration>
        <!--提交到私有仓库地址-->
        <registryUrl>123.207.4.93:5000</registryUrl>
        <pushImage>true</pushImage>
        <!--生成的镜像名称,镜像名称,只能有 a-z 小写字母,0-9 ,下划线"_",和点"." 组成
            123.207.4.93:5000表示仓库地址,
            mir-docker表示镜像名,
            1.0.0表示镜像版本,如果不指定,docker有该镜像名,版本号自动更替,没有版本号为latest-->
        <imageName>123.207.4.93:5000/mir-docker</imageName>
        <!--基础镜像,相当于 Dockerfile 中的 from-->
        <baseImage>java</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>
        <!--指定宿主机地址-->
        <dockerHost>http://123.207.4.93:2375</dockerHost>
    </configuration>
</plugin>

以上配置会自动生成 Dockerfile 文件

    生成并 Push 到服务器上就 OK 了

    mvn clean package docker:build -DpushImage


版权声明:本文为y19910825原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。