1、配置Docker远程连接端口
找到并编辑服务器上的docker.service文件。
vim /usr/lib/systemd/system/docker.service
在下面ExecStart替换成下面的
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
2.重启docker
systemctl daemon-reload
service docker restart
3.服务器开放端口
4.测试远程连接是否正常
curl http://localhost:2375/version
有以下信息输出说明配置成功
5.使用IDEA插件连接到阿里云服务器的Docker容器
连接成功就可以在idea里面使用docker了
6.在springboot项目中引入docker
1、pom.xml中添加Docker插件坐标
这是为了在本项目中引入docker来管理,毕竟最后要使用docker把项目打包成一个镜像。
注意三个事情:
1.版本务必写成0.4.13
其他版本会报错,原因未知,如下图:
2.注意修改成你的服务器IP地址
3.Dockerfile的位置别乱写
位置写在哪儿,就把Dockerfile创建在哪里。
一般就在:
<dockerDirectory>src/main/docker</dockerDirectory>
pom文件需要引入的坐标
<!-- docker插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
<configuration>
<!-- 远程Docker的地址 -->
<dockerHost>http://你的服务器ip地址:2375</dockerHost>
<!-- 镜像名称、前缀、项目名 -->
<imageName>hcl/${project.artifactId}</imageName>
<!-- Dockerfile的位置 -->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<!-- 表示的target文件夹 -->
<directory>${project.build.directory}</directory>
<!-- 表示打出来的JAR包-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
2.刷新maven,查看docker插件
7、使用Docker打包SpringBoot项目
前提:像上一步项目中引入Docker坐标。
目的:就是将SpringBoot项目打包为一个Docker镜像,以便后续将镜像扔在服务器上,构建容器,最后将项目跑起来(也就是把容器跑起来)。
核心操作:
1.创建Dockerfile文件(在正确的位置)
Dockerfile文件的位置一定要和pom.xml中docker插件的配置一致。否则找不到!
2.编写Dockerfile文件
FROM openjdk:8-jre
# java版本,最好使用openjdk,而不是类似于Java:1.8 这种。
# 原因我也不知。
COPY *.jar /app.jar
# 执行创建app.jar
EXPOSE 9999
# 向外暴露的接口,最好与项目yml文件中的端口一致
ENTRYPOINT ["java","-jar","app.jar"]
# 执行启动命令java -jar
注意点:
Java版本: 使用openjdk!!!
使用 java:8 等时会报错,原因未知。
报错信息:
manifest for java:8 not found : manifest unkown: manifest unknown
3.将项目打包为JAR包
4.点击Build构建镜像
5.查看生成镜像
8.使用docker运行springBoot项目
1.选中镜像创建容器
2.配置运行参数
配置玩参数点击运行
3.使用浏览器访问
注意:记得开启项目的端口号