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 安装一些 ...
随机推荐
- JedisCluster API 整理
windows版redis启动服务器命令:redis-server redis.windows.conf 图表来自菜鸟教程: 列表的操作命令 序号 命令及描述 1 BLPOP key1 [key2 ] ...
- js 移动端点击复制字符串
function copyStr(val) { //val 是要复制的字符串 var input = document.createElement("input"); input. ...
- 84 落单的数 III
原题网址:http://www.lintcode.com/zh-cn/problem/single-number-iii/# 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到 ...
- JSON高亮格式化页面显示
高亮CSS定义: <style type="text/css"> pre {outline: 1px solid #ccc; padding: 5px; margin: ...
- python多线程建立代理ip池
之前有写过用单线程建立代理ip池,但是大家很快就会发现,用单线程来一个个测试代理ip实在是太慢了,跑一次要很久才能结束,完全无法忍受.所以这篇文章就是换用多线程来建立ip池,会比用单线程快很多.之所以 ...
- string字符串 获取指定位置范围的子字符串
string str1="12345678"; str1.Substring(0,4);其中0表示要取得字符串的起始位置,4就是要取得字符串的长度 结果是 "1 ...
- Java基础(spring事物和锁)
使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间<beans xmlns="http://www.springframework.org/schema/b ...
- [Ceoi2007]Royaltreasury
#1945. [Ceoi2007]Royaltreasury Online Judge:Bzoj-1945 Label:树形Dp,高精度 题目描述 在很久很久以前的一个王国里,王国的财产开始变得越来越 ...
- C/C++操作SQLite
最近几天在学习sqlite3,颇有点收获,下面介绍一下简单用法:1.先下载sqlite3.h和sqlite3.c(如果不知道怎么下载的话就去www.sqlite.org)如果要编译成lib.则需要用到 ...
- 矩阵快速幂2 3*n铺方格
#include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...