idea使用docker插件

简介: 接着上一篇docker开启远程访问后,我们就可以通过idea使用docker插件把项目部署到docker了。首先我们先在idea安装docker插件:在setting中安装docker插件1535529365951.png1535529477982.png等待安装完成重启idea重启完成后,我们打开settings可以看到docker1535531268677.png点击"+",添加一个连接。

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


img_eda41ff4be8effdf16e14f5899621873.png
1535529365951.png

img_b68067a86114f289c99ccac05c3f6229.png
1535529477982.png

等待安装完成重启idea

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


img_262b2de76343b3436160f19e6edf0e4d.png
1535531268677.png

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


img_16629970e68ada3186ff7345987f20e5.png
1535532032854.png

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

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


img_f73bcad10bb0cc8d07751b1d76a15288.png
1535532259250.png
img_02e6af1907e1dca45fc935fbf51c3b2b.png
1535532271985.png

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

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


img_e08c5a2fb074dfd32790574a5e5a3211.png
1535532764721.png

我们的目的就是要把该项目放到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"]
img_bc424f7fe35ec6cc06b8d468a236a4d1.png
1535533764897.png

然后设置一下启动项
选择dockerFile


img_b1138b07d6b43b88a311754087eb36a0.png
1535533870788.png

img_e62bef6be064f6c43500a46f2884a099.png
1535533924885.png

这样就配置好了。不过我们这种方式有一个不好的地方就是,我们以后每次启动的时候需要先把项目编译的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下面


img_3bf7289053c04b227a3474914cf1e15f.png
1535534140059.png

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


img_0fd9138a105ee3c383e7e49846e3ff86.png
1535534229354.png

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


img_381c3c50e65743d22f37b53679dddc85.png
1535534279183.png

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

等到docker启动完成


img_0b8bfe9785fe885eff2a2bf23c2b9482.png
1535534572312.png

我们去linux上面查看一下:
通过命令docker ps

docker ps
img_63a2e9ff483aebe932cdef677d406200.png
1535534490110.png

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

ps -ef|grep app*
img_e93c90ad1d2ccb32e610d798687e04e6.png
1535534850221.png

这里说明我们已经成功把项目部署到了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的映射。


    img_48542df9561f90e8ca66c1a6b590a5fd.png
    Selection_005.png

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

 docker run -d -p 8099:8099 37a83b7fa149
img_487f50542b4c878939840dd64050376c.png
Selection_006.png

我们先把原来的容器给停止,然后使用上面的命令制定映射宿主机端口的方式来启动容器。
执行完成后,查看容器的运行情况


img_2b39e2614b8a195b5cd4196c8e9fb68a.png
Selection_007.png

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

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


img_34ebe554125eaf5f36845068cdd133de.png
_1535535426089.png

我们在外网验证一下我们部署的springboot项目的接口:
访问:http://IP:8099/docker/getValue

img_16ba7ea6e486d15873a9dd7c4498e1b6.png
Selection_009.png

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
15天前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
66 6
|
1月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
248 3
|
2月前
|
Java
可直接编辑jar包的IDEA插件-JarEditor
IDEA自带的反编译插件虽可查看jar包中的class文件,但无法直接编辑。为解决此问题,作者开发了JarEditor插件,可在IDEA中直接编辑jar文件内的class及资源文件,无需解压或手动编译。点击Jar Editor可修改代码,通过Save/Compile保存并编译,Build Jar则将更改写回jar包。该插件简化了jar包编辑流程,提高了开发效率。
207 4
可直接编辑jar包的IDEA插件-JarEditor
|
4月前
|
IDE 程序员 开发工具
IDEA插件-IKun Progress 坤坤成IDEA进度条了
"IKun Progress"是一款适用于JetBrains IntelliJ IDEA等IDE的插件,该插件能够将标准的进度条替换为一个有趣且独特的篮球动画,其中的角色名为坤坤(Kun Kun)。它旨在为您的IDE使用过程增添一些娱乐和轻松的氛围。 该插件让您可以在执行IDE中的任务时享受到更加视觉上吸引人的进度指示器,例如构建、运行测试或其他涉及进度条的操作。相比传统的普通进度条,您将看到坤坤在打篮球,给您的开发工作流程增添了一份乐趣。
716 0
IDEA插件-IKun Progress 坤坤成IDEA进度条了
|
1月前
|
Windows
IDEA如何查看已经安装的插件并删除
【10月更文挑战第1天】这段内容主要介绍了如何在IntelliJ IDEA中查看和删除已安装的插件。可以通过软件内的插件市场查看插件列表,包括插件名称、版本号和供应商等信息;也可以通过访问插件目录查看。删除插件则建议在插件市场中进行,包括禁用和卸载步骤,手动删除插件文件夹的方法不推荐,因为可能存在配置残留等问题。
568 11
|
1月前
|
人工智能 Java 数据库连接
IDEA开发 常用代码规范插件 常用辅助类插件
IDEA开发 常用代码规范插件 常用辅助类插件
52 0
|
1月前
|
IDE Java Maven
分享几个实用的IDEA插件,提高你的工作效率!
分享几个实用的IDEA插件,提高你的工作效率!
142 0
|
3月前
|
自然语言处理 JavaScript 算法
【插件】IDEA这款插件,爱到无法自拔
本文介绍了阿里云「通义灵码」这一强大IDEA插件,它不仅能够智能生成代码、解答研发问题,还支持多种编程语言和编辑器。文章详细展示了如何安装使用该插件,并通过多个实际案例说明其在代码解释、优化、生成注释及单元测试等方面的应用,助力开发者提高效率。强烈推荐尝试!
128 1
【插件】IDEA这款插件,爱到无法自拔
|
3月前
|
Java
2022年最新最详细的IntelliJ idea高效插件的介绍安装,让你的工作效率提升10倍
这篇文章详细介绍了10款IntelliJ IDEA的高效插件,包括Codota代码智能提示、Key Promoter X快捷键提示、CodeGlance代码缩略图、Lombok代码简化、阿里巴巴代码规范检查、SonarLint代码质量检查、Save Actions格式化代码、Translation翻译、Rainbow Brackets彩虹括号和Nyan Progress Bar彩虹进度条插件,旨在帮助提升开发效率和代码质量。
2022年最新最详细的IntelliJ idea高效插件的介绍安装,让你的工作效率提升10倍
下一篇
无影云桌面