一、准备工作

1.、工具:win10,idea2018,maven3.5,jdk8

二、win10安装docker

1、win10安装docker:http://www.runoob.com/docker/windows-docker-install.html

2、安装完毕后,点击小鲸鱼,选择settings

点击Daemon,在Registry mirrors输入镜像加速地址,国内选的是daocloud提供的。

地址:https://www.daocloud.io/mirror#accelerator-doc,注册一个账号或用github账号登陆。

点击立即使用,选择windows。复制地址粘贴到Registry mirrors里。

3.cmd,打开doc窗口,输入docker version,查看版本

安装成功

三、Idea安装docker插件

1.点击扳手按钮

在输入框输入plguin,点击plugins,选择Browse

在输入框输入docker,并选择安装,然后重启idea

四、Idea连通docker,并指定项目生成docker镜像

1.打开设置中心,也就是扳手按钮,在输入框输入docker,点击+号

2.设置docker,点击小鲸鱼,选择settings,ge'neral,勾选最后一向,就打通了docker与idea的连接。

五、idea运行镜像/docker运行镜像

1、新建一个简单的springboot项目,设置端口号为8761

2、简单的输入一个hello world

@SpringBootApplication
@RestController
public class SpringbootDemoApplication { public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
} @RequestMapping("/")
public String hi(){
return "hello world";
}
}

3、新建一个文件夹docker,src/main/docker,在docker里新建一个Dockerfile文件,配置文件内容

FROM java:8
VOLUME /tmp
ADD springboot-demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
ADD后面跟的是项目jar包,在运行之前我们需要打包,如何打包在上一篇有介绍。
然后把jar包放在docker文件里。

编辑docker

前面两个是镜像名字和容器名字,Bind port前面那个是我们启动后访问的端口,后面那个是Dockerfile里设置的端口。

点击Run运行:到doc窗口输入docker ps查看进程

可以看到,程序已运行,然后我们访问:localhost:8123

成功访问。

4、以上是idea直接运行的镜像,现在我们在doc里把程序停掉,docker stop 容器id

查看镜像,docker images

启动镜像,docker run -d -p 8234:8761 my_image,-d是在后台运行,-p  8234:8761,前面8234是我们要访问的port,8761是镜像的port,my_image镜像名

访问:localhost:8234

成功访问。

win10安装docker并结合Idea2018.1部署springboot项目的更多相关文章

  1. Docker容器入门之一:部署SpringBoot项目

    一.环境准备:    1.vm虚拟机: Workstation 12 Pro 12.5.7 build-5813279 2.Centos 7 在虚拟机上安装好Centos7系统后,就可以开始准备安装D ...

  2. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

  3. mac和linux下使用Docker,部署SpringBoot项目到docker

    主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...

  4. Docker快速上手之部署SpringBoot项目

    Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...

  5. Centos8.3、docker部署springboot项目实战记录

    引言    目前k8s很是火热,我也特意买了本书去学习了一下,但是k8s动辄都是成百上千的服务器运维,对只有几台服务器的应用来说使用k8s就有点像大炮打蚊子.只有几台服务器的应用运维使用传统的tomc ...

  6. Docker下部署springboot项目

    1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...

  7. linux小白成长之路9————打包部署SpringBoot项目

    [内容指引] SpringBoot项目介绍: 打包SpringBoot项目: 1.pom.xml: 2.application.properties配置: 3.application-dev.prop ...

  8. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  9. 利用Dockerfile部署SpringBoot项目

    利用Dockerfile部署SpringBoot项目 1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7 ...

随机推荐

  1. 使用OpenCL提升OpenCV图像处理性能 | speed up opencv image processing with OpenCL

    本文首发于个人博客https://kezunlin.me/post/59afd8b3/,欢迎阅读最新内容! speed up opencv image processing with OpenCL G ...

  2. 修改VisualStudio的智能提示字体大小

    最近换了一个高分辨率显示器,便觉得VisualStudio的字体过小了,虽然VisualStudio换字体还比较简单,大部分位置的字体基本上很顺利的就换掉了,然而一直找不到智能提示的字体所在位置,放狗 ...

  3. yield return,yield break

    转自, http://www.cnblogs.com/kingcat/archive/2012/07/11/2585943.html yield return 表示在迭代中下一个迭代时返回的数据,除此 ...

  4. HashHelper

    在C#中,数据的Hash以MD5或SHA-1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高. MD5与SHA ...

  5. jmeter入门操作 = 录制

    没安装工具的朋友请先看:https://www.cnblogs.com/cainiaoxiansheng/p/11007754.html 软件装好,功能了解好,那么就开始进入正题,先来一波录制 不要鄙 ...

  6. Python分页

    # -*-coding:utf-8-*- # Author:Ds from django.utils.safestring import mark_safe from django.http.requ ...

  7. tomcat的基本应用

    1.JVM基本介绍 JAVA编译型 ---> 编译 C 编译型---> linux --->编译一次 windows --->编译一次 macos ubuntu 跨平台 移值型 ...

  8. ios 点击webview获取图片url (js交互)

    加手势 -(void)handleSingleTap:(UITapGestureRecognizer *)sender { CGPoint pt = [sender locationInView:_c ...

  9. [b0016] python 归纳 (二)_静态方法和类方法

    # -*- coding: UTF-8 -*- """ 测试 类的静态方法,类方法 @staticmethod @classmethod 总结: 1. self 指向类对 ...

  10. JMETER 审批任务实战

    业务场景 我们需要对流程任务进行审批,这个和流程发起是不一样的,因为在流程发起时,只需要用户登录后,指定固定的流程方案和数据就可以发起流程了. 流程任务是需要获取任务ID再做任务审批的. 实现思路 1 ...