idea 部署项目到 docker 运行
1.在远程服务器上开启 docker 远程连接
$vim /usr/lib/systemd/system/docker.service # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock
更新配置后,需要重启 docker 服务
$systemctl daemon-reload
$systemctl restart docker
测试是否开启远程 tcp 成功:http://ip:2375/version
2.在 IDEA 中下载 Docker 插件,选择 TCP Socket ,如果连成功会有提示: Connection successful
3.项目打包配置
<build>
<plugins>
<!-- docker 插件 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!-- 绑定 docker:build 到 maven 的 package 生命周期 -->
<executions>
<execution>
<id>docker-build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<!-- 插件的配置 -->
<configuration>
<!-- 构建的镜像的名字 :标签 -->
<imageName>${project.artifactId}:${project.version}</imageName>
<!-- 存放dockerfile的路径 -->
<dockerDirectory>${project.basedir}</dockerDirectory>
<!-- docker Host 地址,用插件在 initialize 阶段从 application.yml 解析 -->
<dockerHost>http://IP:2375</dockerHost>
<!-- SSL 认证证书地址,若开启 SSL 登录 -->
<!-- <dockerCertPath></dockerCertPath> -->
<resources>
<resource>
<!-- 使用什么资源来构建镜像(就是jar包),以及将镜像推送到容器的那个目录下 -->
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
4.项目根路径下创建 Dockerfile
FROM openjdk:8-jdk-alpine MAINTAINER [author] [Howl@email.com] ARG JAR_FILE=/target/*.jar COPY ${JAR_FILE} app.jar EXPOSE 9000 ENTRYPOINT ["java","-jar","/app.jar"]
打包完成后会自动生成 Docker 镜像, Idea - services 可以创建启动实例
参考

浙公网安备 33010602011771号