DockerMaven 插件 <version>1.4.10</version>

通过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

在这里插入图片描述


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

正常启动:
在这里插入图片描述
配置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"

docker 1.4.10

打包报错:需要修改本地 DOCKER_HOST=192.168.220.132:2375 远端Docker 服务器(不行,需要重启电脑)
Dockerfile 和pom 文件同级别

<plugin>
    <groupId>com.spotify</groupId>
     <!--<artifactId>docker-maven-plugin</artifactId>
     <version>1.2.0</version>-->
     <artifactId>dockerfile-maven-plugin</artifactId>
     <version>1.4.10</version>
     <configuration>
         <repository>192.168.220.132:5000/${
    
    project.groupId}/${
    
    project.artifactId}</repository>
         <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
         <password>root</password>
         <username>root</username>
         <tag>${
    
    project.version}</tag>
         <buildArgs>
             <dockerHost>http://192.168.220.132:2375</dockerHost>
             <JAR_FILE>target/${
    
    project.build.finalName}.jar</JAR_FILE>
         </buildArgs>
     </configuration>
     <!-- 镜像构建后自动推送 -->
     <executions>
         <execution>
             <id>default</id>
             <phase>install</phase>
             <goals>
                 <goal>build</goal>
                 <goal>push</goal>
             </goals>
         </execution>
     </executions>
 </plugin>

Dockerfile

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

猜你喜欢

转载自blog.csdn.net/qq_16183731/article/details/121324054