Docker Community Edition 镜像使用帮助
Fedora/CentOS/RHEL
如果你之前安装过 docker,请先删掉
1 | sudo yum remove docker docker-common docker-selinux docker-engine |
安装一些依赖
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
根据你的发行版下载repo文件:
1 | wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo |
把软件仓库地址替换为 TUNA:
1 | sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo |
最后安装:
1 | sudo yum install docker-ce |
Docker
使用 Google
公司推出的 Go
语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。
Docker 和传统虚拟化方式的不同之处
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
镜像
一个只读层被称为镜像,一个镜像是永久不会变的。
由于 Docker 使用一个统一文件系统,Docker 进程认为整个文件系统是以读写方式挂载的。
但是所有的变更都发生顶层的可写层,而下层的原始的只读镜像文件并未变化。
由于镜像不可写,所以镜像是无状态的。
基础镜像: 一个没有任何父镜像的镜像。
Reference :