icon
小维AI总结
HunYuan-Turbos-Latest
思考中···

配置 Docker 守护进程

用宝塔打开找到路径 /usr/lib/systemd/system 下的 docker.service 文件编辑它

ExecStart

1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

1
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:23756 -H unix://var/run/docker.sock

去 shell 那输入,重新加载 docker 的配置

1
2
3
systemctl daemon-reload

systemctl restart docker

再去安全那开发端口 23756 同步到外部云也开发

IDEA 配置 Docker 插件

idea 安装插件 docker 并打开编辑配置它,选 tcp 里 socket

1
tcp://162.14.96.81:23756

连接即可!感觉这个端口有点危险,换一个比较好

Maven 引入依赖

引入依赖,镜像名称必须是小写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<build>
<plugins>
<!-- docker配置-->
<!-- 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://162.14.96.81:23756</dockerHost>
<!-- 镜像名称、前缀、项目名 -->
<imageName>sxl/${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>
<executions>
<execution>
<id>build-image</id>
<!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

创建 Dockerfile

src/main/docker 下创建文件 Dockerfile

1
2
3
4
5
6
7
8
9
FROM openjdk:8-jre
# java版本,最好使用openjdk,而不是类似于Java:1.8 这种。
# 原因我也不知。
COPY *.jar /app.jar
# 执行创建app.jar
EXPOSE 10086
# 向外暴露的接口,最好与项目yml文件中的端口一致
ENTRYPOINT ["java","-jar","app.jar"]
# 执行启动命令java -jar

构建与部署

再去右侧 maven 树那边

项目下的 Lifecycle 中 package

去控制台里的 docker 插件中查看 images 中就能发现多了一个自己项目的镜像

右键项目镜像 --> 创建容器 --> 名字看着来 --> 最好是点击 Modify options 中的 Run options

然后输入名称 以及运行参数

1
-d -p 10086:10086

Run 起来,这个后端项目的端口记得也去开放一下

更新部署

如果是更新代码,删除掉 docker 里生成的项目镜像和它的缓存镜像,去 package 一下,再右键项目镜像,创建它即可