Docker 安装mysql nginx elasticsearch redis RabbitMQ

前言:本文只简要介绍Docker和项目相关需要掌握的概念,并非全面介绍。

1、Docker介绍

1.1 Docker出现的背景

    设想你在你的电脑A上安装一个游戏,比如是模拟飞行2020,安装好以后,根据自己的喜好配置鼠标,键盘,存档位置,摇杆键位,配置分辨率,垂直同步,特效 等等一系列自定义喜好。保存好以后,你将模拟飞行的文件夹整个上传到百度云。

   哪天你出去旅行,酒店有一台特别高级的电脑B,你想玩模拟飞行。然后冲网盘上下载下来文件夹,可是根本跑不起来,各种报错。重新下载模拟飞行安装包,你的所有自定义设置又清0了,非常难受。

    同理,linux下,安装mysql(centos7 装mysql 超级无敌恶心),nginx,nacos,redis,这些东西,下载恶心,配置也恶心,配置完以后,如果要换服务器,直接拷贝文件夹过去,还各种问题。

   于是,Docker出现了,软件通通装在docker里面,移植的时候就直接移植docker,里面的所有配置都保留,而且还能保证使用。

1.2 Docker简介

Docker能解决上述问题,主要得益于其容器化虚拟技术:

       Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。

1.3 Docker组成(重点)

Docker 安装mysql nginx elasticsearch redis RabbitMQ_第1张图片

1.3.1 镜像(Image)

Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

容器镜像 的关系,即类似 java 中的 对象

Docker Java  
容器 对象
镜像

1.3.2 容器(Container)

Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例
 
它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
 
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
 
容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
 

1.3.3 仓库(repository)

仓库(Repository)是集中存放镜像文件的场所。
仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,

你可能感兴趣的:(docker)