Docker是什么?
Docker是一个在2013年开源的应用程序,并且是一个基于go语言编写的PAAS服务。
Docker最早采用LXC技术,之后改为自己研发并开源的runc技术运行容器。
Docker相比虚拟机的交付速度更快,资源消耗更低,Docker采用客户端、服务端架构,使用远程api来管理和创建Docker容器。
Docker的三大理念是build(构建)、ship(运输)、run(运行)。
Docker遵从apache2.0协议,并通过namespace、cgroup等技术来提供容器的资源隔离与安全保障。
Docker的组成
官网:https://docs.docker.com/get-started/overview/
Docker主机 host:一个物理机或者虚拟机,用于运行docker服务进程和容器
Docker服务端 Server:Docker守护进程,运行docker容器
Docker客户端 client:客户端使用docker命令或其他工具调用docker api
Docker仓库 registry:保存镜像的仓库,类似于git或svn这样的版本控制器
Docker镜像 images:镜像可以理解为创建实例使用的模板
Docker容器 container:容器是从镜像生成对外提供服务的一个或一组服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgrLog8F-1622793682857)(01.docker介绍与安装/image-20210531152229098.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hIdvJfQY-1622793682860)(01.docker介绍与安装/image-20210531152329941.png)]
Docker与虚拟机之间的对比
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UL2r4pUX-1622793682862)(01.docker介绍与安装/image-20191028193918568.png)]
- 资源利用率更高:一台物理机可以运行数百个容器,但一般只能运行数十个虚拟机
- 开销更小:不需要启动单独的虚拟机占用硬件资源
- 启动速度更快:可以在数秒内完成启动
Docker安装及基础命令
- 安装docker-ce以及客户端
[root@docker-server ~]# yum install wget.x86_64 -y
[root@docker-server ~]# rm -rf /etc/yum.repos.d/*
[root@docker-server ~]# wget -O /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo
[root@docker-server ~