开发环境

  • IDEA:2020.3.2
  • Docker:20.10.12

    注意,如果没有开启Docker远程连接,请先开启Docker远程连接。

1. 打开或新建一个Web项目

可参考使用IDEA新建一个Spring Boot项目

2. 安装Docker插件

(1)选择File --> Settings,打开设置窗体;

(2)在设置窗体,左侧选择Plugins,搜索Docker并安装

(3) 在设置窗体,左侧选择Buidl,Execution,Deployment-->Docker,然后在右侧新建一个Docker Server,并配置Engine API URLtcp://10.1.4.123:2375(修改为自己Docker的IP和端口),如果配置正确,下面会提示Connection successful

3.创建控制器Controller(一会儿测试用)

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello(){
return "Hello Docker!";
}
}

4.编写Dockerfile文件

(1)在工程根目录下新建一个文件,命名为Dockerfile

(2)编写Dockerfile文件按

# 基础镜像,openjkd使用8版本
FROM openjdk:8
# 作者
MAINTAINER mayhot
# 系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
# 应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/demo-0.0.1-SNAPSHOT.jar app.jar
# 启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"]
# 暴露8080端口
EXPOSE 8080

注意:将上面Dockerfile文件的jar名称,修改成你自己的

5. 添加Docker启动项

(1)编辑启动项配置



(2)添加Dockerfile启动项



(3)修改Dockerfile属性

修改基本信息

添加Run Maven Goal

输入要执行的Maven命令clean package -U -DskipTests,会在每次构建镜像之前,将当前工程清理掉并重新编译

6. 运行Dockerfile

如果构建日志,提示'docker-demo Dockerfile: Dockerfile' has been deployed successfully.表示在Docker上部署镜像成功,并启动容器成功!

7. 查看镜像和容器状态

使用xshell登录Docker服务,查看镜像和容器状态

(1)查看镜像

[root@bogon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-demo latest 39b9d578b981 9 minutes ago 544MB
openjdk 8 47482c603b2a 13 days ago 526MB
hello-world latest feb5d9fea6a5 4 months ago 13.3kB

(2)查看容器

[root@bogon ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ea83565112a4 39b9d578b981 "java -jar /app.jar" 10 minutes ago Up 10 minutes 0.0.0.0:18080->8080/tcp, :::18080->8080/tcp docker-demo

8. 验证

在浏览器中输入http://10.1.4.123:18080/hello(Docker服务器的地址和端口),返回了“Hello Docker!”,证明部署的应用在Docker容器中正常运行!

IDEA中使用Docker的更多相关文章

  1. Docker - 在CentOS 7中安装Docker

    1-确认系统信息 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # uname -a Linux CentOS-7 3. ...

  2. ubuntu中安装Docker

    系统要求: 必须时64位的系统,内核最低要求是3.10 查看系统内核: $ uname -r 3.11.0-15-generic 获取最新版本打Docker: $ wget -qO- https:// ...

  3. 生产环境中使用Docker Swarm的一些建议

    译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它 ...

  4. centos7.4中安装docker

    #!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...

  5. 如何修改运行中的docker容器的端口映射和挂载目录

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  6. 教你如何修改运行中的docker容器的端口映射

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  7. 学习Spring Boot:(二十三)Spring Boot 中使用 Docker

    前言 简单的学习下怎么在 Spring Boot 中使用 Docker 进行构建,发布一个镜像,现在我们通过远程的 docker api 构建镜像,运行容器,发布镜像等操作. 这里只介绍两种方式: 远 ...

  8. 在deepin中安装docker

    用往常方法安装 一般在Linux中安装docker的时候都会使用这条命令 wget -qO- https://get.docker.com/ | sh 而在deepin这么做缺不行 打开网址即可发现支 ...

  9. CentOS中利用Docker安装RabbitMQ

    CentOS中利用Docker安装RabbitMQ 1.拉取镜像(带管理平台) #docker pull rabbitmq:3.7.7-management 2.启动容器: #docker run - ...

  10. CentOS中利用Docker安装Redis

    CentOS中利用Docker安装Redis 1.拉取镜像 #docker pull redis:4.0.10 2.加载镜像 #docker run -p 6379:6379 --name test- ...

随机推荐

  1. Git创建分支进行开发

    一.业务场景 自己当前开发的项目算是一个中型项目,整个项目都是由自己一个人开发完成,主要有两个子项目,一个是小程序的后台,一个是小程序的后台管理系统. 因为从一开始就只有我一个人在进行开发,所以自己平 ...

  2. HDC2021技术分论坛:组件通信、硬件池化,这些创新技术你get了吗?

    作者:ligang 华为分布式硬件技术专家,sunbinxin 华为应用框架技术专家 HarmonyOS是一款全新的分布式操作系统,为开发者提供了元能力框架.事件通知.分布式硬件等分布式技术,使能开发 ...

  3. NPOI处理Excel

    using NPOI; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; NPOI.SS.U ...

  4. Protobuf 动态加载 .pb 文件并操作 Message

    之前写了<Protobuf 动态加载 .proto 文件并操作 Message>.除了直接读取 .proto 文件之外,还有一种类似的方法.先把 .proto 文件编译成 .pb 文件,再 ...

  5. k8s基本概念,资源对象

    kubernetes里的master指的是集群控制节点 master负责是整个集群的管理和控制 kubernetes3大进程 API server 增删改查操作的关键入口 controller man ...

  6. Spring源码-IOC部分-Bean实例化过程【5】

    实验环境:spring-framework-5.0.2.jdk8.gradle4.3.1 Spring源码-IOC部分-容器简介[1] Spring源码-IOC部分-容器初始化过程[2] Spring ...

  7. 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)

    Unicode与UTF-8互转(C语言实现):http://blog.csdn.net/tge7618291/article/details/7599902 汉字 Unicode 编码范围:http: ...

  8. IAAS, SAAS, PAAS

    原文是Pizza‐as‐a‐Service: a detailed view,用来类比Cloud Service Models.出处来自于Data Sovereignty and the Cloud ...

  9. JAVA boolean 类型

    boolean 类型用来存储布尔值,在java中布尔值只有2个,true和false. boolean flag=true; flag=false;

  10. UNIX系统上的抓包工具tcpdump常用命令说明

    tcpdump 介绍 tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才 ...