Docker的基础知识
前提:有Linux的基础知识
1. Docker概述 问题:
- 一套产品会经历从开发到上线,但在这个过程会有两套以上的环境,经常会遇到一个问题:在不同环境下会出现不一样的bug,或者是生成环境遇到的bug,在开发环境上却没遇到等等;
- 环境配置十分麻烦:发布项目=jar+环境(Redis+MySQL+jdk+ES等等;
Docker解决方案 开发发布项目jar包时带上环境(docker将其打包成镜像),发布到docker仓库,测试或用户只需要下载镜像运行即可。 一个jre上可能运行多个应用造成冲突(例如端口),所以docker采用集装箱的思想,将各个应用隔开。Docker通过隔离机制将服务器利用到极致。
2.Docker作用 在说作用之前,先说说虚拟机技术 一个虚拟机包含一个内核,安装所有应用所需要的库,再安装不同的应用。 缺点: 1、资源占用多 2、冗余步骤多 3、启动慢 容器化技术 容器内的应用直接运行在宿主机内,容器没有自己的内核,相对轻便 并且容器间相互隔离,拥有自己的文件系统,互不影响
优点: 1、应用更快速地交付和部署 2、更便捷地进行升级和扩容 3、更简单进行系统运维(开发与测试环境高度一致) 4、更高效地利用计算资源(一台服务器使用多个容器,性能压榨到极致)
Docker的基本组成 镜像(image): docker镜像相当于一个模板,通过镜像来创建容器服务,镜像AAA运行后可以提供AAA01(02、03)服务,通过镜像可创建多个服务
容器(container): Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建。 基本命令包含启动、停止、删除; 目前可简单地把容器理解为一个小的Linux
仓库(repository): 仓库就是存放镜像的地方,分私有仓库与共有仓库(Docker hub),国外的仓库可通过阿里云的容器服务器下载(配置镜像加速)
学习来源:https://www.bilibili.com/video/BV1og4y1q7M4?p=1
|