简介
总之,是个好东西,是一种新兴的虚拟化方式,一次创建或配置,任意地方正常运行。
Docker包括三个基本概念:
- 镜像(Image)
 - 容器(container)
 - 仓库(repository)
Docker镜像
对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。 
Docker容器
镜像( Image )和容器( Container )的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚 至自己的用户 ID 空间。
容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用 数据卷(Volume)、或者绑定宿主目录。
Docker仓库
安装
这里以Ubuntu 20.04 LTS (GNU/Linux 5.4.0-72-generic x86_64)为例。
卸载旧版本
sudo apt-get remove docker docker-engine docker.iosudo apt-get update
通过apt安装
# HTTPS 传输的软件包以及 CA 证书sudo apt-get install apt-transport-https ca-certificates curl software-properties-common# 添加软件源的 GPG 密钥curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 使用阿里云稳定版仓库sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get update
安装docker ce
sudo apt-get install docker-ce
启动docker ce
sudo systemctl enable dockersudo systemctl start docker
建立docker用户组
# 建立docker组sudo groupadd docker# 将当前用户加入docker组sudo usermod -aG docker $USER# 更加安全的方式,修改sudoers文件,增加如下内容:%wheel ALL=(ALL) NOPASSWD: /usr/bin/docker, /usr/bin/docker-compose# 创建别名alias docker='sudo docker'
测试docker是否安装正确
# 退出当前终端并重新登录docker -vsystemctl status dockerdocker run hello-world
镜像加速
# 打开文件sudo vim /etc/docker/daemon.json# 写入如下json{"registry-mirrors": ["https://registry.docker-cn.com"]}# 重新启动服务sudo systemctl daemon-reloadsudo systemctl restart docker# 查看docker基本信息docker info# 更新如下:# Registry Mirrors:# https://docker.mirrors.ustc.edu.cn/# Live Restore Enabled: false
