windows下maven打包镜像到docker服务器

1、修改docker服务器配置文件

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

将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock,改完后如下所示:

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

2、保存后退出,重新加载配置文件并重启docker

systemctl daemon-reload && systemctl restart docker

3、查看docker监听的端口是否已开启

netstat -anp|grep 2375

windows下maven打包镜像到docker服务器
若无信息输出代表未开启,如上图代表已开启

4、查看远程API信息

curl 127.0.0.1:2375/info

windows下maven打包镜像到docker服务器
若无信息输出代表docker远程API开启失败,如上图代表已开启成功

5、在本机windows系统环境变量中新建DOCKER_HOST,值为tcp://xxx.xxx.xxx.xxx:2375,(你改成你自己的docker服务器ip地址)

6、maven项目工程main目录下新增/docker/Dockerfile文件,同时需要将springboot配置文件中的IP改为docker服务器IP。

FROM java
VOLUME /tmp
ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 8082
ENTRYPOINT ["java","-Djava.security.edg=file:/dev/./urandom","-jar","/app.jar"]

7、maven项目工程修改pom文件,build下新增插件:

	<plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <executions>
            <execution>
                <id>build-image</id>
                <phase>package</phase>
                <goals>
                    <goal>build</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <imageName>eureka</imageName>
            <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>

8、执行指令打包镜像推送到docker服务器

mvn clean package docker:build