Docker配合Maven 实现一键打包部署docker镜像

首先
开启Docker远程访问许可: 并注意防火墙配置

vi /usr/lib/systemd/system/docker.service 

加入下面两行

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

pom.xml 相关依赖

<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>
                <version>1.0.0</version>
                <dependencies>
                    <dependency>
                        <groupId>javax.activation</groupId>
                        <artifactId>javax.activation-api</artifactId>
                        <version>1.2.0</version>
                        <scope>compile</scope>
                    </dependency>
                </dependencies>
                <configuration>
                    <!-- docker目的地的地址 -->
                    <dockerHost>http://*填自己目的地的ip*:2375</dockerHost> 
                    <!--镜像名称以及版本号-->
                    <imageName>${docker.image.prefix}:1.0.0</imageName>
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!--依赖的基础镜像-->
                    <baseImage>java</baseImage>
                    <!-- Dockerfile的位置-->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置-->
                    <workdir>/ROOT</workdir>
                    <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>
            <!-- Docker maven plugin -->
        </plugins>
    </build>

Dockerfile位置
在这里插入图片描述
Dockerfile 内容

FROM java:8
MAINTAINER haoxuanli kslup7@gmail.com
VOLUME /tmp
ADD hobbymatcher-1.0.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

执行命令

mvn clean package docker:build

搞定
在这里插入图片描述

原创文章 280 获赞 464 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/105592569
今日推荐