开发环境

  • 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. 在变压器厂中使用 ISA-95 应用程序进行调度集成

    介绍 在工业批量和连续生产/运营环境中,调度涉及将诸如罐.反应器和其他加工设备之类的资源分配给生产/运营任务.第 4 层生产/运营计划确定要制造什么产品.要制造多少产品以及何时制造.根据设备.物料.人 ...

  2. 论文翻译:2020_RESIDUAL ACOUSTIC ECHO SUPPRESSION BASED ON EFFICIENT MULTI-TASK CONVOLUTIONAL NEURAL NETWORK

    论文翻译:https://arxiv.53yu.com/abs/2009.13931 基于高效多任务卷积神经网络的残余回声抑制 摘要 在语音通信系统中,回声会降低用户体验,需要对其进行彻底抑制.提出了 ...

  3. C# app.config 保存和读取例子

    保存: Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); if ...

  4. CMake语法—内置变量

    目录 CMake语法-内置变量 1 CMake变量分类 1.1 普通变量 1.2 缓存变量 1.3 环境变量 1.4 内置变量 2 CMake内置变量分类 2.1 提供信息的变量 2.2 改变行为的变 ...

  5. 676. Implement Magic Dictionary

    Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll be ...

  6. 使用 Swoole 加速你的 CMS 系统

    项目介绍 MyCms是一款基于Laravel开发的开源免费的自媒体博客CMS系统,适用于个人网站及企业网站开发使用,助力个人开发者知识技术变现 Swoole介绍 Swoole: PHP的异步.并行.高 ...

  7. gin中只绑定url查询字符串

    package main import ( "github.com/gin-gonic/gin" "log" ) type Person struct{ Nam ...

  8. Typecho博客支持emoji表情设置

    介绍 大家在typecho博客写文章时,很多人都喜欢使用emoji表情(比如这些图标)但是typecho的数据库类型默认不支持emoji编码,因为Emoji是一种在Unicode位于u1F601-u1 ...

  9. Android开发-页面布局

    首页布局 首页是ListView的布局 这个还需要制作ListView组件和适配器来显示数据. 关于页面 关于页面显示的是软件的基本信息和软件制作者的信息 这个就是采用基本的页面布局就行.

  10. 连接mysql出现“Unable to load authentication plugin 'caching_sha2_password”错误

    这是mysql 8.0版本才出现的问题,原因是mysql 8.0 默认使用 caching_sha2_password 身份验证机制 -- 从原来的 mysql_native_password 更改为 ...