<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.40.2</version>
<plugin>
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
[!NOTE]
在 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
命令后追加了
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload
systemctl stop docker
systemctl start docker
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<!--配置docker打包插件-->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.maven.plugin.version}</version>
<executions>
<!--如果想在项目打包时构建镜像添加 `mvn clean -DskipTests package` 会同时构建镜像 -->
<!--执行 mvn package 时 自动 执行 mvn docker:build-->
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Docker 远程管理地址-->
<dockerHost>${docker.host}</dockerHost>
<images>
<image>
<!--定义镜像名称-->
<name>my/${project.name}:${project.version}</name>
<!--定义镜像构建行为-->
<build>
<!--定义基础镜像-->
<from>java:8</from>
<!-- 定义参数 -->
<args>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</args>
<!--定义哪些文件拷贝到容器中-->
<assembly>
<!--定义拷贝到容器的目录-->
<targetDir>/</targetDir>
<!--只拷贝生成的jar包-->
<descriptorRef>artifact</descriptorRef>
</assembly>
<!--定义容器启动命令-->
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
<!--定义维护者-->
<maintainer>tuonioooo</maintainer>
</build>
</image>
</images>
</configuration>
</plugin>
</plugins>
</build>
$ mkdir -p /mount/apps/docker-plugin-example/logs
$ docker stop docker-plugin-02
$ docker rm docker-plugin-02
#删除空悬镜像(dangling images)
$ docker rmi $(docker images -f "dangling=true" -q)
$ docker run -p 8801:8801 --name docker-plugin-02 \
-v /etc/localtime:/etc/localtime \
-v /mount/apps/docker-plugin-example/logs:/logs \
-d my/docker-plugin-example:0.0.1-SNAPSHOT
[!WARNING]
pom_fabric8.xml: 为当前示例的pom文件,运行时请替换到pom.xml中