开发环境

  • 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. 第51篇-SharedRuntime::generate_native_wrapper()生成编译入口

    当某个native方法被调用时,一开始它会从解释入口进入,也就是我之前介绍的.由InterpreterGenerator::generate_native_entry()函数生成的入口例程.在这个例程 ...

  2. Java 异常分析

    Java 异常分析 本文是对以下内容的分析: Java异常设计 Java 异常分类 Java异常可以告诉什么问题 Java异常处理最佳实践 Java Exception 是为了处理应用程序的异常行为而 ...

  3. unittest测试框架

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 一.u ...

  4. linux 下安装PostgreSql 并配置远程访问

    1.官网下载PostgreSql 安装包 (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads) 我下载的是 9. ...

  5. 《剑指offer》面试题58 - I. 翻转单词顺序

    问题描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a student. ",则输出&quo ...

  6. 【海淘域名】GoDaddy账户被锁定后的解决方法

    转载自[美国海淘网]http://www.usahaitao.com/Experience/Detail_2886.html   通过ICANN申诉顺利的从国内无良奸商(35互联与商务中国,小编的域名 ...

  7. Go语言:包管理基础知识

    起因是,遇到一个问题: 经查阅资料,很可能跟包管理有关,之前有了解过忘了就再学一遍顺便解决问题. 学习资料: GO111MODULE 是个啥? - 知乎 (zhihu.com) go mod使用 - ...

  8. dp学习(六)

    高级科技. 26. 虚树 27. 长链剖分优化dp 28. 插头dp

  9. Python 单元测试 生产HTML测试报告

    使用HTMLTestRunnerNew模块,生成单元测试的html报告,报告标题根据对应测试时间. import unittest from datetime import datetime from ...

  10. IntelliJ IDEA 学习笔记 - 修改编码

    感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...