- 项目名必须是英文,-,.,_,这些数字,idea需要管理员运行,因为idea控制台mvn命令需要管理员权限才能运行(maven需配置环境变量)
- 改linux中的Docker服务文件,使用2375 进行非加密通信,然后加载重启
2.1
#修改Docker服务文件
vi /lib/systemd/system/docker.service
# 通常使用端口2375与守护进程进行非加密通信,使用端口2376与守护进程进行加密通信。
#修改ExecStart行,添加如下配置
-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

2.2 重新加载配置文件,重启服务
重新加载配置文件
systemctl daemon-reload
重启服务
systemctl restart docker.service
2.3 验证是否成功修改,此步奏非必须,只要最后一步本地浏览器可以访问http://ip:2375/version就行
验证是否开启成功
查看端口是否开启
netstat -antp | grep dockerd #如果找不到netstat命令,使用yum install net-tools安装
[root@administrator ~]# netstat -antp | grep dockerd
tcp6 0 0 :::2375 :::* LISTEN 4514/dockerd
直接curl看是否生效,测试通过localhost是否能使用Docker Engine API
curl http://127.0.0.1:2375/info
curl http://localhost:2375/version
浏览器访问:http://ip:2375/version测试远程能否通过主机IP使用Docker Engine API

- 环境变量中配置DOCKER_HOST,和添加到path
DOCKER_HOST,tcp://192.168.174.129:2375


- idea中修改一下idea --> settting --> maven --> runner ---> Environment variables如下图
DOCKER_HOST=tcp://192.168.174.129:2375

- 在项目目录下新建Dockerfile文件,pom文件加入插件依赖 
  - 在项目目录下新建Dockerfile文件(和pom.xml文件同一级)
 
下图为Dockerfile文件内容,Dockerfile 中JRA_FILE就是pom.xml文件中的JRA_FIL
FROM  adoptopenjdk/openjdk11:ubi
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

5.2 xxx改成公司的就可以,下面为pom.xml文件的dockerfile-maven-plugin插件(finalName标签内容需要改成本项目的如果父包一样docker.image.prefix标签内容可不改)
<artifactId>xxx-api-gateway</artifactId>
<properties>
<docker.image.prefix>xxxcloud</docker.image.prefix>
</properties>
<dependencies>
<build>
    <finalName>alibaba-cloud-gateway</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>1.4.13</version>
            <configuration>
                <repository>${docker.image.prefix}/${project.artifactId}</repository>
                <buildArgs>
                    <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                </buildArgs>
            </configuration>
        </plugin>
    </plugins>
</build>
- 重启idea后cd到pom.xml文件的父目录后在idea控制台执行打包mvn命令
mvn install -Dmaven.test.skip=true dockerfile:build 或
mvn clean install -Dmaven.test.skip=true dockerfile:build

- 查看docker所在的linux上是否已经有镜像





















