Less Interests
More Interest
https://docs.docker.com/install/linux/docker-ce/centos/
centos7为例
1:
yum install -y yum-utils
device-mapper-persistent-data
lvm2
2:
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3:
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
yum-config-manager --disable docker-ce-edge
4:
安装最新的Docker
yum install docker-ce
指定版本安装
list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
5:启动Docker
systemctl start docker
HelloWorld
这是Docker为测试提供的一个镜像,若能从仓库中抓取出镜像并运行说明安装成功
由于国外的网很慢,所以需要在配置文件中配置成国内的镜像仓库。
配置阿里云镜像:
登录阿里云开发者平台获得加速镜像
vim /etc/docker/daemon.json
{
"registry-mirrors": ["自己的加速地址"]
}
systemctl daemon-reload
systemctl restart docker
运行HelloWorld
docker run hello-world
先从本地查找有无镜像
有,以该模板为镜像生成容器运行
无,从远程仓库拉取镜像,生成容器运行,远程仓库没有,返回错误信息,找不到该镜像
Docker是怎么运行的
docker是一个Client-Server结构的系统,docker守护进程运行在主机上,然后通过Socket连接从客户端进行访问,守护进程从客户端接收命令并管理运行在主机上的容器。容器是一个运行环境,就是鲸鱼背上的集装箱。
docker为什么比VM快
- docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor(运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件)实现硬件资源虚拟化,运行在docker容器上的程序都是直接使用的实际物理机的硬件资源,因此在CPU,内存利用率上docker将会在效率上有明显优势。
- docker利用的是宿主机的内核,而不需要Guest OS(虚拟机),因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核,因为避免加载系统这些耗时资源的过程。
docker容器 | 虚拟机(VM) | |
---|---|---|
操作系统 | 与宿主机共享操作系统 | 宿主机OS上运行虚拟机OS |
存储大小 | 镜像小,便于存储和传输 | 镜像庞大G |
运行性能 | 几乎无额外性能损失 | 操作系统额外的CPU,内存消耗 |
移植性 | 轻便,灵活,适应于Linux | 笨重,与虚拟化技术耦合度高 |
软件亲和性 | 面向软件开发者 | 面向硬件运维者 |