安装
- 官网安装app
- 命令行安装(但是没有图形界面app)brew install docker
架构
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
- Docker 客户端(Client):Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。
- Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器
  
配置镜像加速器
登录https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors创建账号,点击左上角找到容器镜像服务,选择镜像加速器,将加速器地址复制到json文件中
 打开docker,选择设置,选择docker engine,输入完之后选择apply&restart
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://mnq9hehw.mirror.aliyuncs.com"
  ]
}
可以使用命令docker info检查有没有配置成功
镜像相关命令
- 查看本地镜像:docker images
- 搜索某个镜像:docker search <image name>, egdocker search redis
- 下载某个镜像:docker pull <image name>,egdocker pull redis
- 下载某个版本的镜像:docker pull <REPOSITORY>:<version>,具体支持的版本号需要去hub.docker.com网站查找
- 删除某个镜像: 
  - docker rmi <image ID>, image ID 可通过- docker images命令查看
- docker rmi <REPOSITORY>:<TAGS>,两个不同版本的镜像的image ID相同,此时可以通过TAGS删除
 
- 查看所有镜像的ID:docker images -q
- 删除所有镜像:
docker rmi `docker images -q`
容器相关命令
- 运行容器: 
  - docker run -it --name=<name> <REPOSIITORY>:<TAG> /bin/bash, -i表示容器保持一致运行,-t表示给容器分配一个伪终端,/bin/bash表示打开一个shell脚本
- docker run -id --name=<name> <REPOSIITORY>:<TAG>, -d表示后台运行容器
 
- 退出容器:exit,通过-it创建的容器一经退出就自动关闭,-d创建的容器不会自动关闭
- 查看容器:docker ps -a,-a表示查看所有历史运行容器,status为up表示正在运行
- 进入正在运行的容器内部:docker exec -it <NAMES> /bin/bash
- 启动历史容器:docker start <NAMES>
- 查看某个容器的信息:docker inspect <NAMES>
- 停止正在运行的容器:docker stop <NAMES>
- 删除容器:docker rm <NAMES>
- 查看所有容器的ID:docker ps -aq
- 删除所有容器:(正在运行的容器是不能被删除的)
docker rm `docker ps -aq`



















