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. JedisCluster API 整理

    windows版redis启动服务器命令:redis-server redis.windows.conf 图表来自菜鸟教程: 列表的操作命令 序号 命令及描述 1 BLPOP key1 [key2 ] ...

  2. js 移动端点击复制字符串

    function copyStr(val) { //val 是要复制的字符串 var input = document.createElement("input"); input. ...

  3. 84 落单的数 III

    原题网址:http://www.lintcode.com/zh-cn/problem/single-number-iii/# 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到 ...

  4. JSON高亮格式化页面显示

    高亮CSS定义: <style type="text/css"> pre {outline: 1px solid #ccc; padding: 5px; margin: ...

  5. python多线程建立代理ip池

    之前有写过用单线程建立代理ip池,但是大家很快就会发现,用单线程来一个个测试代理ip实在是太慢了,跑一次要很久才能结束,完全无法忍受.所以这篇文章就是换用多线程来建立ip池,会比用单线程快很多.之所以 ...

  6. string字符串 获取指定位置范围的子字符串

    string   str1="12345678";   str1.Substring(0,4);其中0表示要取得字符串的起始位置,4就是要取得字符串的长度  结果是 "1 ...

  7. Java基础(spring事物和锁)

    使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间<beans xmlns="http://www.springframework.org/schema/b ...

  8. [Ceoi2007]Royaltreasury

    #1945. [Ceoi2007]Royaltreasury Online Judge:Bzoj-1945 Label:树形Dp,高精度 题目描述 在很久很久以前的一个王国里,王国的财产开始变得越来越 ...

  9. C/C++操作SQLite

    最近几天在学习sqlite3,颇有点收获,下面介绍一下简单用法:1.先下载sqlite3.h和sqlite3.c(如果不知道怎么下载的话就去www.sqlite.org)如果要编译成lib.则需要用到 ...

  10. 矩阵快速幂2 3*n铺方格

    #include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...