IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】

Docker官网

Docker官网:https://www.docker.com/

Docker Hub官网:http://hub.docker.com/

什么是Docker

Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)bare metalOpenStack 集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。

为什么使用Docker

  • 可以快速部署应用:Docker容器很轻,启动时间很快,节约开发、测试、部署的时间。

  • 可以在任意环境运行:Docker容器兼容很多平台,可以把应用程序从一个平台迁移到另外一个。

  • 更加高效的利用系统资源:容器内的应用直接运行于宿主机的内核。

  • 一致的运行环境:将环境、依赖等封装到容器内,不会因环境不同而产生差异。

  • 持续集成和部署:镜像可升级、降级、更新、部署。

  • 迁移轻松:一次构建,处处运行,可上传下载到Docker registry。

Docker的基本组成

  • Docker client:客户端,为用户提供一系列可执行命令,用户用这些命令实现跟 docker daemon 交互;
  • Docker daemon:守护进程,一般在宿主主机后台运行,等待接收来自客户端的请求消息;
  • Docker image:镜像,镜像run之后就生成为docker容器;
  • Docker container:容器,一个系统级别的服务,拥有自己的ip和系统目录结构;运行容器前需要本地存在对应的镜像,如果本地不存在该镜像则就去镜像仓库下载。
  • Docker Registry:仓库,是一个集成存储与分发镜像的服务;最常用的是Registry,是官方的Docker Hub。

Docker的基本命令(思维导图)

Docker基本命令

Docker的实际应用

下面我们通过Idea整合Docker的方式,进行打包部署 RuoYi-Vue-Plus开源项目:

关于Nginxredismysql等软件,采用的是传统下载安装包的方式已经安装完成,前端项目已经打包部署完成。

下面仅仅介绍借助Idea集成Docker插件的方式,进行后端服务 镜像的构建、容器的启动等操作;大家也可以使用Docker命令的方式操作进行服务的部署。

关于Docker的安装教程见上述命令!

使用docker --version查看Docker的版本:

查看Docker的版本

下面仅演示后端服务的部署:

Idea整合Docker

在Idea中安装docker插件

Setting ——> Plugins ——> 插件市场搜索Docker

Idea安装Docker插件

配置Docker连接信息

这里采用的是SSH的连接方式,下方若出现Connection successful 连接成功。

通过SSH方式配置连接信息

连接Docker,查看远程Docker里面的信息。

查看远程Docker里面信息

项目准备

拉取RuoYi-Vue-Plus项目,本地启动测试,将mysql脚本导入到服务器mysql数据库中,

修改本地配置文件的数据库连接信息、Redis连接信息配置。

本地启动测试:

运行:MonitorAdminApplication.javaXxlJobAdminApplication.javaRuoYiApplication.java

项目本地启动测试

启动一切正常!!!

准备Dockerfile(Dockerfile项目中已存在)

准备Dockerfile

项目打包准备镜像

在项目的根目录执行命名:mvn clean install进行项目打包。

在这里插入图片描述

首先进入: \RuoYi-Vue-Plus\ruoyi-extend\ruoyi-xxl-job-admin目录,打包ruoyi-xxl-job-admin镜像。

打开Dockerfile文件,点击按钮打包镜像:

构建ruoyi-xxl-job-admin镜像

同上,分别打包镜像ruoyi-monitor-admin、ruoyi-admin。这里不再介绍。

构建镜像,准备启动容器

启动容器

分别启动容器,切换到Log面板,我们可以看到容器启动的日志:

启动容器,查看日志

启动成功后,我们访问前端,检查服务是否正常访问。

后端服务处理请求正常

在控制面板,我们可以进行其他的一些快捷操作,比如进入容器,尝试Docker的基本命令等:
在这里插入图片描述

附:Docker基本命令思维导图获取方式:后台私信【Docker基本命令】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK搭建以及使用教程(多pipiline)

1、环境准备 服务器:Centos7 Jdk版本:1.8 Es版本:7.12.1 kibana版本:7.12.1 logstash版本:7.12.1 IP地址安装软件192.168.50.211Es,Kibana,logstash 2、安装docker 安装步骤参考:https:…

在Node.js中,什么是中间件(middleware)?它们的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

【音视频 | opus】opus编解码库(opus-1.4)详细介绍以及使用——附带解码示例代码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

第G7周:Semi-Supervised GAN 理论与实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍦 参考文章:365天深度学习训练营-第G7周:Semi-Supervised GAN 理论与实战(训练营内部成员可读) 🍖 原作者:K同学啊|接…

Centralized Feature Pyramid for Object Detection解读

Centralized Feature Pyramid for Object Detection 问题 主流的特征金字塔集中于层间特征交互,而忽略了层内特征规则。尽管一些方法试图在注意力机制或视觉变换器的帮助下学习紧凑的层内特征表示,但它们忽略了对密集预测任务非常重要的被忽略的角点区…

【论文精读】PlanT: Explainable Planning Transformers via Object-Level Representations

1 基本信息 院校:德国的图宾根大学 网站:https://www.katrinrenz.de/plant 2 论文背景 2.1 现有问题 现在的基于学习的方法使用高精地图和BEV,认为准确的(达到像素级的pixel-level)场景理解是鲁棒的输出的关键。re…

Java自学第1课:安装JDK+Eclipse

1 引言 在学习前,我想说一句,那就是为什么要学习Java。 每个人的出发点都不同,对于做信息化的工程技术人员来说,java不懂,就没法干项目。 尽管有c和matlab等基础,但java看起来与这些语言都不太一样。 做…

基于单片机的智能饮水机系统

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统设计方案分析2.1 设计功能及性能分析2.2设计方案分析 二、系统的硬件设计3.1 系统设计框图系统软件设计4.1 总体介绍原理图 四、 结论 概要 现在很多学校以及家庭使用的饮水机的功能都是比较单一的&#…

MySQL InnoDB数据存储结构

1. 数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责对表中数据的读…

分享68个工作总结PPT,总有一款适合您

分享68个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1juus0gmesBFxJ-5KZgSMdQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…

C语言----每日五道选择题Day1

1.第一题 1、指出下列代码的缺陷&#xff08; &#xff09;【多选】 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) {if(f[i] 0)break; } A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是…

[MICROSAR Adaptive] --- autosar官方文档阅读建议

目前互联网上没有太多的 Adaptive AUTOSAR 的学习资料,官方文档是一个很不错的途径。看过官方文档才发现,目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如直接看官方文档更全面深入。 1 Adaptive AUTOSAR 文档官方下载地址 https://www.autosar.org/sta…

微信小程序:实现多个按钮提交表单

效果 核心步骤 通过data-type给不同按钮进行设置&#xff0c;便于很好的区分不同按钮执行不同功能 data-type"" 完整代码 wxml <form action"" bindsubmit"formSubmit"><button style"margin-bottom:5%" data-type"pa…

[黑马程序员SpringBoot2]——运维实用篇

目录&#xff1a; 工程打包与运行打包插件Boot工程快速启动&#xff08;Linux版本&#xff09;临时属性配置文件4级分类自定义配置文件多环境开发(yaml版)多环境开发多文件版&#xff08;yaml版&#xff09;多环境开发多文件版&#xff08;properties版&#xff09;多环境分组…

难题来了:分库分表后,查询太慢了,如何优化?

说在前面&#xff1a; 尼恩社群中&#xff0c;很多小伙伴反馈&#xff0c; Sharding-JDBC 分页查询的速度超级慢&#xff0c; 怎么处理&#xff1f; 反馈这个问题的小伙伴&#xff0c;很多很多。 而且这个问题&#xff0c;也是面试的核心难题。前段时间&#xff0c;有小伙伴…

windows 用vs创建cmake工程并编译opencv应用项目生成exe流程简述

目录 前言一、安装opencv&#xff08;1&#xff09;下载&#xff08;2&#xff09;双击安装&#xff08;3&#xff09;环境变量和system文件夹设置 二、打开vs创建项目三、编辑cpp&#xff0c;.h&#xff0c;cmakelist.txt文件&#xff08;1&#xff09;h文件&#xff08;2&…

【Python从入门到进阶】41、有关requests代理的使用

接上篇《40、requests的基本使用》 上一篇我们介绍了requests库的基本使用&#xff0c;本篇我们来学习requests的代理。 一、引言 在网络爬虫和数据抓取的过程中&#xff0c;我们经常需要发送HTTP请求来获取网页内容或与远程服务器进行通信。然而&#xff0c;在某些情况下&…

通过在Z平面放置零极点的来设计数字滤波器

文章来源地址&#xff1a;https://www.yii666.com/blog/393376.html 通过在Z平面放置零极点的来设计数字滤波器 要求&#xff1a;设计一款高通滤波器&#xff0c;用在音频信号处理过程中&#xff0c;滤掉100Hz以下的信号。 实现方法&#xff1a;通过在Z平面放置零极点的来设…

数据结构与算法【02】—线性表

CSDN系列专栏&#xff1a;数据结构与算法专栏 针对以前写的数据结构与算法系列重写(针对文字描述、图片、错误修复)&#xff0c;改动会比较大&#xff0c;一直到更新完为止 前言 通过前面数据结构与算法基础知识我们知道了数据结构的一些概念和重要性&#xff0c;那么本章总结…

【UE 材质】简单的闪闪发光材质

效果 节点 参考视频&#xff1a; https://www.bilibili.com/video/BV1uK411y737/?vd_source36a3e35639c44bb339f59760641390a8