idea使用docker插件
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插件的更多相关文章
- Intellij IDEA使用Docker插件部署应用
1.安装Docker插件 配置Docker Api,在API URL中填入api的地址,记得Docker后台程序启动是要配置 -H tcp://0.0.0.0:2375 开放远程地址端口,注意这里的i ...
- maven添加docker插件无法引入,运行时报错 No plugin found for prefix 'docker'
maven 安装不上docker插件,运行 提示:docker:bulid时No plugin found for prefix 'docker' 原因是maven不能识别 docker-maven- ...
- mac下idea中安装docker插件
idea中安装docker插件: 点击Intellij IDEA->Preferences...->Plugins->Browse repositories...如下: 点击Inst ...
- Drone 的插件 - Docker 插件
Drone 插件市场 Drone 插件文档 原文地址 - Docker 插件的手册 Docker 插件可以用于构建镜像及发布镜像到 Docker registry.下面的 pipeline 配置,就使 ...
- idea安装docker插件
Preferences->Plugins 根据上图安装docker插件,安装完成后可使用idea来管理docker项目了.docker运行项目请参加"Docker开发环境搭建" ...
- Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)
前言 在学校学习的时候,要部署一个Java程序,一般是打成war包,放到服务器上的tomcat的webapp里面去: 后来SpringBoot出现内置了tomcat,就直接打成jar包,丢到服务器任何 ...
- IDEA集成Docker插件后出现日志乱码的解决办法
修改IDEA的vmoptions文件 找到IDEA安装目录的bin目录,在idea.exe.vmoptions和idea64.exe.vmoptions文件中追加以下内容: -Dfile.encodi ...
- Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试
一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...
- idea中使用docker插件部署项目
安装docker 如果你之前安装过 docker,请先删掉 sudo yum remove docker docker-common docker-selinux docker-engine 安装一些 ...
随机推荐
- csp-s模拟测试54x,y,z题解
题面:https://www.cnblogs.com/Juve/articles/11606834.html x: 并差集,把不能分到两个集合里的元素和并到一起,设连通块个数为cnt,则答案为:$2^ ...
- LintCode_389 判断数独是否合法
题目 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说明 什么是 数独? ...
- Genymotion 的那些事
一.什么是Genymotion? Genymotion是一套完整的工具,它提供了Android虚拟环境. 支持Windows.Linux和Mac OS等操作系统. 在Android开发中可以代替安卓模 ...
- linux下安装rabbitmq 集群
1.下载erlang官网地址 http://www.erlang.org/download 挑选合适的版本 然后 wget 比如目前18.3运行命令 wget http://erlang.org/do ...
- 怎么解决VirtualBox无法安装增强工具
点击「设备」-「安装增强功能」,然后就弹出下面这个东西,百度和 bing 了很久,终于解决啦~ Unable to insert the virtual optical disk D:\Program ...
- 【机器学习】机器学习入门02 - 数据拆分与测试&算法评价与调整
0. 前情回顾 上一周的文章中,我们通过kNN算法了解了机器学习的一些基本概念.我们自己实现了简单的kNN算法,体会了其过程.这一周,让我们继续机器学习的探索. 1. 数据集的拆分 上次的kNN算法介 ...
- 2018-10-19-C#-序列类为-xml-可以使用的特性大全
title author date CreateTime categories C# 序列类为 xml 可以使用的特性大全 lindexi 2018-10-19 9:9:47 +0800 2018-6 ...
- Cat- Linux必学的60个命令
1.作用 cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户. 2.格式 cat [options] 文件1 文件2…… 3.[opti ...
- 关于CoCreateInstance的0x800401f0问题
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&g_pGr ...
- python登录aspx网站
1.安装模块 2.准备aspx登录页面 3.示例代码 #coding:utf-8 import re from bs4 import BeautifulSoup import gzip import ...