idea使用docker插件

接着上一篇docker开启远程访问后,我们就可以通过idea使用docker插件把项目部署到docker了。

首先我们先在idea安装docker插件:

在setting中安装docker插件





等待安装完成重启idea

重启完成后,我们打开settings可以看到docker



点击”+”,添加一个连接。



安装上篇配置的docker信息。我们通过tcp的方式连接到centos的docker服务。信息配置好后,idea会自动检测。然后会输出“connection successful”。

然后再工具栏选择docker的窗口,点击运行



接下来我们在idea上面操作docker

首先新建一个简单的springboot项目



我们的目的就是要把该项目放到docker上面跑起来

在src/main下面新建一个docker文件夹,目录下新建一个Dokerfile文件,写入一下的内容:

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

然后设置一下启动项

选择dockerFile





这样就配置好了。不过我们这种方式有一个不好的地方就是,我们以后每次启动的时候需要先把项目编译的jar

放到src/main/docker的目录下面。因为我们在Dockerfile的文件中是这样配置的

ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar

这里的dockerdemo-0.0.1-SNAPSHOT.jar就是我们的jar,这样的配置是说明在当前目录下找这个jar。

所以为了解决上面的麻烦我们把Docker的配置修改一下

ADD /target/dockerdemo-0.0.1-SNAPSHOT.jar app.jar

把ADD的值指向绝对路径,target下面



然后我们把Dockerfile文件直接放在项目的根目录

最后我们修改一下,启动配置:Dockerfile选择根目录下面的那个

接下来我们就启动docker,构建镜像中,由于是云服务器,这里上传镜像需要一段时间。



等到docker启动完成

我们去linux上面查看一下:

通过命令docker ps

docker ps

通过命令检查进程是否存在

ps -ef|grep app*

这里说明我们已经成功把项目部署到了linux上的docker中了。

为了进一步验证,我们写一个接口:

@RestController
@RequestMapping(value = "docker")
public class DockerController { @RequestMapping(value = "getValue")
public String dockerTest() {
return "this is docker controller return value";
}
}

重新把项目部署一下。

部署完成后,我们目前还不能马上就可以访问这个刚部署的项目服务~因为:

- 第一 我们还没有在云服务器的安全组策略配置外网可以访问的端口

- - 第二 我们在设置安全组策略是设置哪。 8099吗?

- 我们要明白项目中设置的项目端口8099,我们是把这个项目整个部署到了docker的容器中的,而docker中的每一个容器我们都可以看作一个虚拟机。所以容器里面的端口的独立的。因此我们还要在云服务器上配置docker容器里面springboot项目服务端口8099的映射。



这里我们可以看到Names:spring_demo的容器对应的ports还没有端口映射。所以现在我们做的就是把该容器的8099端口映射出来。

 docker run -d -p 8099:8099 37a83b7fa149



我们先把原来的容器给停止,然后使用上面的命令制定映射宿主机端口的方式来启动容器。

执行完成后,查看容器的运行情况



到这里我们已经可以看到ports已经显示端口的映射了。

最后一步:就是在云服务器安全组策略添加一下,宿主机8099的端口访问。

我们在外网验证一下我们部署的springboot项目的接口:

访问:http://IP:8099/docker/getValue

原文地址:https://blog.csdn.net/longzhanpeng/article/details/82217698

idea使用docker插件的更多相关文章

  1. Intellij IDEA使用Docker插件部署应用

    1.安装Docker插件 配置Docker Api,在API URL中填入api的地址,记得Docker后台程序启动是要配置 -H tcp://0.0.0.0:2375 开放远程地址端口,注意这里的i ...

  2. maven添加docker插件无法引入,运行时报错 No plugin found for prefix 'docker'

    maven 安装不上docker插件,运行 提示:docker:bulid时No plugin found for prefix 'docker' 原因是maven不能识别 docker-maven- ...

  3. mac下idea中安装docker插件

    idea中安装docker插件: 点击Intellij IDEA->Preferences...->Plugins->Browse repositories...如下: 点击Inst ...

  4. Drone 的插件 - Docker 插件

    Drone 插件市场 Drone 插件文档 原文地址 - Docker 插件的手册 Docker 插件可以用于构建镜像及发布镜像到 Docker registry.下面的 pipeline 配置,就使 ...

  5. idea安装docker插件

    Preferences->Plugins 根据上图安装docker插件,安装完成后可使用idea来管理docker项目了.docker运行项目请参加"Docker开发环境搭建" ...

  6. Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)

    前言 在学校学习的时候,要部署一个Java程序,一般是打成war包,放到服务器上的tomcat的webapp里面去: 后来SpringBoot出现内置了tomcat,就直接打成jar包,丢到服务器任何 ...

  7. IDEA集成Docker插件后出现日志乱码的解决办法

    修改IDEA的vmoptions文件 找到IDEA安装目录的bin目录,在idea.exe.vmoptions和idea64.exe.vmoptions文件中追加以下内容: -Dfile.encodi ...

  8. Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试

    一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...

  9. idea中使用docker插件部署项目

    安装docker 如果你之前安装过 docker,请先删掉 sudo yum remove docker docker-common docker-selinux docker-engine 安装一些 ...

随机推荐

  1. CSS3 学习笔记(边框 背景 字体 图片 旋转等)

    边框 盒子圆角 border-radius:5px / 20%: border-radius:5px 4px 3px 2px; 左上,右上,右下,左下 盒子阴影 box-shadow:box-shad ...

  2. 廖雪峰Java12maven基础-2maven进阶-1使用插件

    1.maven的Lifecycle,Phase和Goal: 使用maven构建项目就是执行Lifecycle 执行Lifecycle就是按顺序执行一系列Phase 每执行一个Phase,都会执行该Ph ...

  3. go中简单使用kafka

    windows上kafka的安装 1.安装jdk 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jre8-download ...

  4. Eclipse反编译插件jd-eclipse安装指南

    Java Decompiler是一款比较好用的反编译工具,包括: JD-GUI:独立java编译工具 JD_Eclipse:用于Eclipse的反编译插件 下面主要介绍jd-eclipse的获取和安装 ...

  5. JS基础语法之DOM02(事件)

    1.常用事件 1.onclick 单击 应用场景:为按钮绑定 2.ondbclick 双击 3.onfocus   获得焦点 4.onblur 失去焦点 应用场景:用于表单验证,用户离开某个输入框时, ...

  6. DevOps理论+实践之路

    DevOps理论+实践之路  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注 ...

  7. np一些基本操作2

    import numpy as nparr1 = np.arange(32).reshape(8,4)print(arr1)arr1 = arr1.reshape(-1);print(arr1)arr ...

  8. NIO的学习总结

    1.简单画的NIO流程图 2.代码实现编程: Client: package nio; import java.io.IOException; import java.net.InetSocketAd ...

  9. [转]用DateTime.ToString(string format)输出不同格式的日期

    DateTime.ToString()函数有四个重载.一般用得多的就是不带参数的那个了.殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期.以下把 ...

  10. wc,sort,uniq,awk,grep

    wc awk, sort, uniq grep