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 可以创建启动实例

参考

https://www.cnblogs.com/Howlet/p/15541935.html

idea 部署项目到 docker 运行的更多相关文章

  1. docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  2. docker 运行jenkins及vue项目与springboot项目(四.docker运行nginx)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  3. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  4. IDEA远程部署项目到Docker

    前言 最近在写东西部署到服务器,结构是springboot工程配合docker部署. 但是每次部署都3个步骤: 本地构建jar 复制jar到远程服务器 用DockerFile构建镜像 部署次数一多,我 ...

  5. IDEA远程快速部署SpringBoot项目到Docker环境

    一:基础准备 1.首先在linux服务器安装Docker环境,具体安装步骤及Docker使用参考官网或网络资料(这里重点是快速部署项目到Docker环境) 2.配置Docker远程连接端口 1.vim ...

  6. docker 运行jenkins及vue项目与springboot项目(三.jenkins的使用及自动打包vue项目)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  7. docker 运行jenkins及vue项目与springboot项目(一.安装docker)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  8. docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  9. 提升10倍生产力:IDEA远程一键部署SpringBoot到Docker

    作者:陶章好 juejin.im/post/5d026212f265da1b8608828b 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容 ...

  10. Docker实现运行tomcat并部署项目war包,并实现挂载目录

    之前写的有点乱,现在再来整理一下docker的简单部署运行 借鉴博客:https://blog.csdn.net/qq_32351227/article/details/78673591 一.dock ...

随机推荐

  1. 问题记录_IDEA版本2021.2.3_debug时变量显示不全(只显示线程附近部分)

    问题记录_IDEA版本2021.2.3_debug时变量显示不全(只显示线程附近部分) 起因 把IDEA的版本从2019升级到了2021.2.3,在debug的时候发现变量的值能看到的很少,并不像20 ...

  2. 2022强网拟态 WHOYOUARE

    2022强网拟态 WHOYOUARE 先说一下这个思路 由于禁用了__proto__所以我们可以通过constructor.prototype来绕过 之前一直不明白为什么是这样绕过的后来仔细研究了一下 ...

  3. 用JMeter对MySQL数据库进行压测

    转载链接:https://www.cnblogs.com/Jadie/p/8056541.html 参考链接:https://blog.csdn.net/qq_35389417/article/det ...

  4. grep的正则匹配使用方式

    grep正则匹配的命令方式如下 $ grep 'pattern1\|pattern2' filename 或 $ grep -E 'pattern1|pattern2' file grep默认是区分大 ...

  5. Java8 提供CompletableFuture来简化高并发异步处理编程

    (摘录自狂乱的贵公子)所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法.在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需 ...

  6. c基础语法-常用关键字

    变量 在计算机中,整数是以补码形式存放的.所以如果整数的最高位是1,有符号数的话就是负数:如果是无符号数,则都表示正数 整形 int ->32 -2^31~2^31无符号整形 unsigned ...

  7. windows11上面打开HEIC文件的有效方法

    今天在传资料的时候,用手机拍了一张照片传到window11,打开时竟然无法打开,顿时有点诧异,仔细看了文件类型(HEIC),可能软件不识别,怎么解决呢? 经过搜索整理尝试了许多方法,没找到一个合适的. ...

  8. 安装TortoiseSVN. msi 报错 2503 2502错误

    tortoisegit下载地址 https://tortoisegit.org/download/ [错误现象] 安装TortoiseSVN. msi 报错 2503 2502错误 [错误原因] 没有 ...

  9. sqlserver存储过程学习

    存储过程学习  一.定义变量 --简单赋值  declare @a int set @a=5  print @a     --使用select语句赋值  declare @user1 nvarchar ...

  10. vulnhub:Victim01靶机

    kali:192.168.111.111 靶机:192.168.111.170 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --script=http-enum 192.168. ...