Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。
Docker 利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心名字空间(namespaces),来创建独立的容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括行程树、网络、用户ID与挂载文件系统,而核心的cgroup提供资源隔离,包括CPU、存储器、block I/O与网络。从0.9版本起,Dockers在使用抽象虚拟是经由libvirt的LXC与systemd - nspawn提供界面的基础上,开始包括libcontainer库做为以自己的方式开始直接使用由Linux核心提供的虚拟化的设施。
总结:
Docker 镜像仓库(市场):https://hub.docker.com/
Docker 安装说明文档地址:https://docs.docker.com/engine/install/centos/
以下操作均为 Linux 中。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
注意:由于当前用户为 vagrant ,而不是 root 用户,所以代码中的 sudo 是必须写的!否则会运行失败!
$ sudo yum install -y yum-utils
结果如图所示:
以下地址三选一即可:
1.官方源地址(比较慢):
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.阿里云地址(我用的这个):
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.清华大学源地址:
$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
docker-ce:安装 Docker-CE 的引擎。
docker-ce-cli:安装 Docker 的客户端。
containerd.io:安装 Docker 的容器。
意思是:有多个 Docker 仓库吗? 如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。
至此 Docker 安装完毕~
Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
$ sudo systemctl start docker
我们可以检查一下,启动成功了没有:
//查看 docker 版本
$ docker -v
//查看 docker images
$ sudo docker images
由于安装完 Docker 之后并非自启动模式,所以我们要设置自启动,即随 Linux 系统一同启动。
$ sudo systemctl enable docker