- 项目名必须是英文,-,.,_,这些数字,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上是否已经有镜像