本文Docker版本为Windows disktop版.
以下方法尝试一遍,总会有一个能用的
netsh interface portproxy add v4tov4 listenport=2375 connectaddress=127.0.0.1 connectport=2375 listenaddress=本地IP地址 protocol=tcp
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
},
"host":["0.0.0.0:2375"]
}
编写docker定制镜像
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version> <!--将插件绑定在某个phase执行-->
<executions>
<execution>
<id>build-image
</id> <!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration> <!--指定生成的镜像名-->
<imageName>${project.artifactId}</imageName> <!--指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags> <!-- 指定 Dockerfile 路径-->
<dockerDirectory>${project.basedir}</dockerDirectory> <!--指定远程docker环境地址-->
<dockerHost>http://192.168.1.1:2375</dockerHost> <!-- 复制jar包到docker容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath> <!--jar包所在的路径,此处配置的 即对应target 目录-->
<directory>${project.build.directory}
</directory> <!-- 需要包含的jar包,这里对应的是 Dockerfile中添加的文件名 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
FROM java:8
LABEL author="rain"
VOLUME [ "/tmp" ]
COPY eureka-0.0.1-SNAPSHOT.jar /eureka.jar
EXPOSE 1000
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eureka.jar"]
参考文章:https://www.runoob.com/docker/docker-dockerfile.html
参考文档:https://cloud.tencent.com/developer/article/1608263