写在前面
好记性不如烂笔头,Docker 命令实在太多了,为了方便查询,防止遗忘,在此详细记录一下。
容器(Container)
容器 (Container) 之于虚拟机 (Virtual Machine) 就好比线程之于进程。
生命周期
- docker create 创建容器但不启动它。
- docker rename 用于重命名容器。
- docker run 一键创建并同时启动该容器。
- docker rm 删除容器。
- docker update 调整容器的资源限制
启动与停止
- docker start 启动已存在的容器。
- docker stop 停止运行中的容器。
- docker restart 重启容器。
- docker pause 暂停运行中的容器,将其「冻结」在当前状态。
- docker unpause 结束容器暂停状态。
- docker wait 阻塞地等待某个运行中的容器直到停止。
- docker kill 向运行中的容器发送 SIGKILL 指令。
- docker attach 连接到运行中的容器。
信息
- docker ps 查看运行中的所有容器。
- docker logs 从容器中读取日志。(你也可以使用自定义日志驱动,不过在 1.10 中,它只支持 json-file 和 journald)。
- docker inspect 查看某个容器的所有信息(包括 IP 地址)。
- docker events 从容器中获取事件 (events)。
- docker port 查看容器的公开端口。
- docker top 查看容器中活动进程。
- docker stats 查看容器的资源使用量统计信息。
- docker diff 查看容器文件系统中存在改动的文件。
docker ps -a 将显示所有容器,包括运行中和已停止的。
docker stats --all 同样将显示所有容器,默认仅显示运行中的容器。
导入/导出
- docker cp 在容器和本地文件系统之间复制文件或目录。
- docker export 将容器的文件系统打包为归档文件流 (tarball archive stream) 并输出至标准输出 (STDOUT)。
执行命令
- docker exec 在容器内执行命令。
例如,进入正在运行的 foo 容器,并连接 (attach) 到一个新的 Shell 进程:docker exec -it foo /bin/bash。
镜像(Images)
镜像是 Docker 容器的模板。
镜像生命周期
- docker images 查看所有镜像。
- docker import 从归档文件创建镜像。
- docker build 从 Dockerfile 创建镜像。
- docker commit 为容器创建镜像,如果容器正在运行则会临时暂停。
- docker rmi 删除镜像。
- docker load 从标准输入 (STDIN) 加载归档包 (tar archive) 作为镜像,包括镜像本身和标签 (tags, 0.7 起)。
- docker save 将镜像打包为归档包,并输出至标准输出 (STDOUT),包括所有的父层、标签和版本 (parent layers, tags, versions, 0.7 起)。
其他信息
- docker history 查看镜像的历史记录。
- docker tag 给镜像打标签命名(本地或者仓库均可)。