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. csp-s模拟测试54x,y,z题解

    题面:https://www.cnblogs.com/Juve/articles/11606834.html x: 并差集,把不能分到两个集合里的元素和并到一起,设连通块个数为cnt,则答案为:$2^ ...

  2. LintCode_389 判断数独是否合法

    题目 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说明 什么是 数独? ...

  3. Genymotion 的那些事

    一.什么是Genymotion? Genymotion是一套完整的工具,它提供了Android虚拟环境. 支持Windows.Linux和Mac OS等操作系统. 在Android开发中可以代替安卓模 ...

  4. linux下安装rabbitmq 集群

    1.下载erlang官网地址 http://www.erlang.org/download 挑选合适的版本 然后 wget 比如目前18.3运行命令 wget http://erlang.org/do ...

  5. 怎么解决VirtualBox无法安装增强工具

    点击「设备」-「安装增强功能」,然后就弹出下面这个东西,百度和 bing 了很久,终于解决啦~ Unable to insert the virtual optical disk D:\Program ...

  6. 【机器学习】机器学习入门02 - 数据拆分与测试&算法评价与调整

    0. 前情回顾 上一周的文章中,我们通过kNN算法了解了机器学习的一些基本概念.我们自己实现了简单的kNN算法,体会了其过程.这一周,让我们继续机器学习的探索. 1. 数据集的拆分 上次的kNN算法介 ...

  7. 2018-10-19-C#-序列类为-xml-可以使用的特性大全

    title author date CreateTime categories C# 序列类为 xml 可以使用的特性大全 lindexi 2018-10-19 9:9:47 +0800 2018-6 ...

  8. Cat- Linux必学的60个命令

    1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户. 2.格式 cat [options] 文件1 文件2…… 3.[opti ...

  9. 关于CoCreateInstance的0x800401f0问题

    hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&g_pGr ...

  10. python登录aspx网站

    1.安装模块 2.准备aspx登录页面 3.示例代码 #coding:utf-8 import re from bs4 import BeautifulSoup import gzip import ...