安装
- 官网安装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`