Docker官网
Docker官网:https://www.docker.com/
Docker Hub官网:http://hub.docker.com/
什么是Docker
Docker
是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)
、bare metal
、OpenStack
集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。
为什么使用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的实际应用
下面我们通过Idea整合Docker
的方式,进行打包部署 RuoYi-Vue-Plus开源项目:
关于Nginx
、redis
、mysql
等软件,采用的是传统下载安装包的方式已经安装完成,前端项目已经打包部署完成。
下面仅仅介绍借助Idea集成Docker插件的方式,进行后端服务 镜像的构建、容器的启动等操作;大家也可以使用Docker命令的方式操作进行服务的部署。
关于Docker的安装教程见上述命令!
使用docker --version
查看Docker的版本:
下面仅演示后端服务的部署:
Idea整合Docker
在Idea中安装docker插件
Setting
——> Plugins
——> 插件市场搜索Docker
配置Docker连接信息
这里采用的是SSH的连接方式,下方若出现Connection successful
连接成功。
连接Docker,查看远程Docker里面的信息。
项目准备
拉取RuoYi-Vue-Plus项目,本地启动测试,将mysql脚本导入到服务器mysql数据库中,
修改本地配置文件的数据库连接信息、Redis连接信息配置。
本地启动测试:
运行:MonitorAdminApplication.java
、XxlJobAdminApplication.java
、RuoYiApplication.java
。
启动一切正常!!!
准备Dockerfile
(Dockerfile项目中已存在)
项目打包准备镜像
在项目的根目录执行命名:mvn clean install
进行项目打包。
首先进入: \RuoYi-Vue-Plus\ruoyi-extend\ruoyi-xxl-job-admin
目录,打包ruoyi-xxl-job-admin
镜像。
打开Dockerfile
文件,点击按钮打包镜像:
同上,分别打包镜像ruoyi-monitor-admin、ruoyi-admin。这里不再介绍。
启动容器
分别启动容器,切换到Log面板
,我们可以看到容器启动的日志:
启动成功后,我们访问前端,检查服务是否正常访问。
在控制面板,我们可以进行其他的一些快捷操作,比如进入容器,尝试Docker的基本命令等:
附:Docker基本命令思维导图获取方式:后台私信【Docker基本命令】