DockerMaven 插件

通过maven 插件自动部署

  1. Maven 插件 自动部署步骤
    1.1 修改宿主机的Docker 配置,让其可以远程访问
vi /lib/systemd/system/docker.service
# 2. 其中 ExecStart= 后添加配置 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

DockerMaven 插件_第1张图片


1.2 刷新配置重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

1.3 Pom 增加 配置

  <build>
        <finalName>app</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>1.2.0</version>
                    <configuration>
                        <imageName>192.168.220.132:5000/${
     project.artifactId}:${
     project.version}</imageName>
                       <!-- <baseImage>openjdk:8-jre</baseImage>-->
                        <dockerDirectory>src/main/resources/docker</dockerDirectory>
                        <!--  切入点自动执行 -->
                        <!--<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://192.168.220.132:2375</dockerHost>
                    </configuration>
                </plugin>
            </plugins>
    </build>

在 项目/src/main/resource/docker 增加文件Dockerfile

FROM openjdk:8-jre
ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
    JAVA_OPTS=""
ADD *.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT [ "sh", "-c", "java -jar /app.jar" ]
EXPOSE 8888

1.4 配置上传

mvn clean install
# 2. 打包上传
 mvn docker:build -DpushImage
# 3. 启动镜像
docker run -it --name wang -p 8888:8888 192.168.220.132:5000/wang:1.0-SNAPSHOT

正常启动:
DockerMaven 插件_第2张图片
配置2:

 <build>
        <finalName>app</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>1.2.0</version>
                    <configuration>
                        <imageName>192.168.220.132:5000/${
     project.artifactId}:${
     project.version}</imageName>
                        <baseImage>openjdk:8-jre</baseImage>
                        <!--<dockerDirectory>src/main/resources/docker</dockerDirectory>-->
                        <!--  切入点自动执行 -->
                        <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://192.168.220.132:2375</dockerHost>
                    </configuration>
                </plugin>
            </plugins>
    </build>

# 2 . 运行配置
# 描述compose 版本信息
version: "3.8"
services:
  wang:
    image: 192.168.220.132:5000/wang:1.0-SNAPSHOT
    container_name: wang
    restart: always
    ports:
      - "8888:8888"

你可能感兴趣的:(JAVA,maven,docker,java)