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.rhkb.cn/news/182415.html

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

相关文章

前端 | (十四)canvas基本用法 | 尚硅谷前端HTML5教程(html5入门经典)

文章目录 📚canvas基本用法🐇什么是canvas(画布)🐇替换内容🐇canvas标签的两个属性🐇渲染上下文 📚绘制矩形🐇绘制矩形🐇strokeRect时,边框像素渲染问题🐇添加…

【原创】java+swing+mysql宠物领养管理系统设计与实现

摘要: 生活中,有很多被人遗弃的宠物,这些宠物的处理成为了一个新的难题。生活中也有许多人喜欢养宠物,为了方便大家进行宠物领养,提高宠物领养管理的效率和便利性。本文针对这一问题,提出设计和实现一个基…

什么是NPM(Node Package Manager)?它的作用是什么?

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

随笔--解决ubuntu虚拟环境的依赖问题

文章目录 问题一:在conda虚拟环境中报错ImportError: libcupti.so.11.7:cannot open shared object file: No such file or directory解决步骤问题二: RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemmStridedBatched( …

分布式系统之BASE理论

BASE理论是对分布式系统设计和处理的一种理论指导,相对于ACID(原子性、一致性、隔离性和持久性)这一强一致性模型,BASE更强调在分布式系统中牺牲强一致性以获得可用性和性能的平衡。 BASE理论的核心概念包括: Basica…

设计模式之迭代器模式

什么是迭代器模式 迭代器模式(Iterator pattern)是一种对象行为型设计模式,它提供了一种方法来顺序访问聚合对象中的元素,而又不暴露该对象的内部表示,同时也可以将迭代逻辑与聚合对象的实现分离,增强了代码…

「掌握创意,释放想象」——Photoshop 2023,你的无限可能!

Adobe Photoshop 2023(PS2023) 来了,全世界数以百万计的设计师、摄影师和艺术家使用 Photoshop 将不可能变为可能。从海报到包装,从基本的横幅到漂亮的网站,从令人难忘的徽标到引人注目的图标,Photoshop 2023让创意世界不断前进。借助直观的工…

docker安装(超详细)

一.引言 本安装教程参考Docker官方文档,地址如下:https://docs.docker.com/engine/install/centos/ 二.卸载旧版docker(第一次安装可忽略) 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker…

【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库

为什么需要开发自己的 Go 库 在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在 Go 中,包是代码的基本组织单位,每个 Go 程序都由包构成。包的作用是帮助组织代码&#xf…

Android---App 的安装过程

Android 系统中两个比较重要的服务 ActivityManagerService(AMS) 和 WindowManagerService(WMS),这篇文章中通过分析 apk 的安装过程,来了解 Android 中另一个比较重要的系统服务 -- PackageManagerService(PMS)。 编译阶段 在分析安装过程之前&#x…

ubuntu无网络连接,没有网络标识,快速解决方法

在这里插入代码片当我们装虚拟机的时候,需要用到网络时发现没有网络连接,且右上角没有网络标识符,这时只需要简单的输入一下三个命令即可 sudo nmcli networking offsudo nmcli networking onsudo service network-manager restart然后重启客…

windows环境下安装Java过程(免登录Oracle官网下载java)

下载路径 oracle官网: java下载路径 Oracle共享账号可下载JDK: 指路 安装流程 执行下载后的jdk的可执行文件一路next下去, 可以自定义安装路径添加环境变量, 两个地方需要添加 在cmd中输入java -version 进行验证,…

在线实用计算工具大全

在线实用计算工具大全 在线计算工具的实用,可以有效提高学习或工作效率,本博文介绍一个在线的实用计算工具大全(https://tool.520101.com),作为一种辅助学习工具。 1. 在线排列组合计算 https://tool.520101.com/cal…

ts和js的区别?

文章目录 前言是什么?二、特性三、区别后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Typescript 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现…

酷开科技 | 酷开系统里萌萌哒小维在等你!

在一片金黄淡绿的颜色中,深秋的脚步更近了,在这个气候微凉的季节里,你是不是更想拥有一种温暖的陪伴呢?酷开科技智慧AI语音功能更懂你,贴心的小维用心陪伴你的每一天。 01.全天候陪伴 在酷开系统中,只要你…

vue3中router和route的区别(使用场景)

1.router router是用来对路由进行操作的; 多用于路由跳转、路由守卫、页面刷新、给路由文件添加路由路径或者移除路由路径等等 2.route route是用来获取路由信息的; 多用于获取路由路径、路由传参数据、路由文件配置的属性信息等等

链表(1)

目录 单链表 主函数test.c test1 test2 test3 test4 头文件&函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表&OJ题目。 单链…

如何本地搭建SeaFile私有云盘并实现远程连接

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 现在我们身边的只能设备越来越多&#xff0c…

高校为什么需要大数据挖掘平台?

目前数据挖掘已经成为各种应用领域的重要技术,大学数据挖掘课程的开放已经出现。数据挖掘课程整合了多门学科知识。该课程包括各种理论知识,也离不开相关的实用技术。整个教学过程是培养和提高学生全面创新和解决问题的能力。过去,教学过程理…

uniapp 微信小程序 uni-file-picker上传图片报错 chooseAndUploadFile

这个问题真的很搞, 原因是微信开发者工具更新了,导致图片上传问题。 解决方法: 将微信开发者工具的基础库改为2.33.0一下即可。 在微信开发者工具详情 - 本地设置中(记得点击‘推送’按钮):