Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点,容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短,容器使用宿主操作系统的内核,而虚拟机使用独立的内核,Docker 的局限性之一是,它只能用在 64 位的操作系统上。
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本
安装启动
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此直接yum下载。
yum -y install docker-io
systemctl start docker
如果提示没有可用包,可在/etc/yum.repo.d/目录下增加一个配置文件docker.repo
内容为:
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
保存退出后:
yum install -y docker-engine
systemctl start docker
设置镜像源
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": [ "http://hub-mirror.c.163.com" ]
} ##这是网易的镜像源
开放管理端口映射
vi /lib/systemd/system/docker.service
将第11行的ExecStart=/usr/bin/dockerd,替换为:
ExecStart = /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654
#2375是管理端口,7654是备用端口
在~/.bashrc中写入docker管理端口:
export DOCKER_HOST=tcp://0.0.0.0:2375
source ~/.bashrc
重载配置、重启服务、测试
systemctl daemon-reload
systemctl restart docker.service
运行一个 Docker 容器
docker run -i -t centos /bin/bash
出现新的主机名和bash提示符即成功。
docker会现在本地查询镜像,如果没有会去镜像源pull一个镜像到本地,以此建立容器并在容器中执行程序