什么是docker
docker是一款全球流行的容器管理工具,可以暂时理解为一种将程序打包的一种技术。
在linux系统中,一切接文件,运行任何程序仅包含程序本身及其依赖库,docker可以实现将这程序和依赖库文件进行打包,便于快速部署服务,迁移等场景。
虚拟机和容器技术对比
– 启动速度,部署:
虚拟机有开机启动流程,而容器没有此过程,因此速度快。
– 性能:
虚拟机的CPU,内存,磁盘都是虚拟的,在程序运行时虚拟机的程序会将指令给到虚拟的CPU,而VVM程序需要将其翻译为宿主机能够识别的指令,因此此过程会造成一定的性能消耗。
容器技术并不会虚拟CPU,内存,而是直接使用宿主机的内核,因此性能更高。
– 资源消耗:
虚拟机需要安装单独的VVM程序,而后基于VVM创建虚拟机,VVM本身会占用一定的资源消耗。
而容器技术并不需要过多资源消耗,更加轻量级,一套服务器如何能创建10台虚拟机,那么基本上容器技术实现可以创建100台+容器。
– 数据迁移:
从数据迁移角度来说,虚拟机迁移时需要将现有的业务在新的环境中重新部署,比如将测试环境迁移到生产环境,可能此过程较长,可能需要几个小时,甚至几天?
而容器技术本身是一种”打包程序”的技术,因此迁移时并不需要部署服务,直接导入镜像启动容器即可。此过程秒级启动。
– 虚拟机本身的迁移:
一个虚拟机本身是一个操作系统,需要安装特定服务软件(vim,yum,apt,…),因此体积较大,可能上GB+。
而容器技术本事只是针对性的对”程序文件”进行打包,因此较小,甚至能够小于1MB。
– docker的架构
1.docker的官方文档(需要翻墙)
https://docs.docker.com/
docker架构简单介绍
client:客户端
docker daemon:服务端
image: 镜像文件,有点类似于”模板机”,只读的。
container: 容器,有点类似于”虚拟机”,可读写的。
registry: 远程仓库,存储的是镜像。也可以从第三方仓库拉取数据。还可以自建本地仓库。
官方的安装方式
我推荐官方网站的安装方式(二进制安装方式 适配性更好)
https://download.docker.com/linux/static/stable/x86_64/
我的安装环境是 ubuntu22.04
这里的docker安装包有两个类型
docker-19.03.6.tgz #在root用户下运行
docker-rootless-extras-19.03.6.tgz #用于在非特权用户下运行Docker的工具集
下载到你自己的linux后进行解压
tar xzvf docker-19.03.6.tgz
将目录下的文件夹拷贝到/usr/lib
mv docker/* /usr/bin/ && rm -fr docker
启动docker的守护进程
dockerd &
安装是不是特别简单 ~!至此安装完成我们就可以愉快的玩耍docker了~
测试拉取镜像
docker run hello-world
下一章将介绍什么是镜像 怎么使用拉取镜像 推送镜像 拜拜了哟~