Docker是一个基于Go语言实现的开源应用容器引擎,通过对应用组件的封装、分发、部署、运行等生命周期的管理,使程序及其运行环境能够做到“一次封装,到处运行”。
Docker架构
Docker是一个客户端-服务器(C/S)架构的程序,Docker客户端只需向Docker守护进程发送请求,守护进程将完成构建、运行、分发等所有工作并返回结果。Docker客户端可以通过docker命令行工具或者REST API与守护进程通信。
Client:Docker客户端,是Docker用户和Docker交互的主要方式。
DOCKER_HOST:Docker主机,装有Docker的主机,用于执行守护进程和容器。
Docker daemon:守护进程,监听Docker API请求并管理Docker对象。
Containers:Docker容器,是Docker镜像的运行实例。
Images:Docker镜像,是一个用于创建Docker容器的只读模板。
Registry:Docker仓库注册服务器,用于存储Docker镜像。一个Registry(仓库注册服务器)包含多个仓库(Repository),每个仓库又包含多个镜像,每个镜像有不同的标签。
CentOS7安装Docker
1.卸载旧版本(可选)
$ sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
2.设置仓库
sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2
sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3.安装最新Docker Engine-Community
//安装过程中有提示,输入y继续安装即可
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动Docker
sudo systemctl start docker
5.通过运行hello-world镜像来验证是否安装成功
sudo docker run hello-world
如果是安装成功了,将会输出如下信息:
Hello from Docker!
This message shows that your installation appears to be working correctly.
配置镜像加速
在国内从DockerHub上拉取镜像速度慢时,可以配置镜像加速,如使用Docker官方提供的加速器。
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://registry.docker-cn.com"]}
重新启动服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker