用生命谱写代码的赞歌

0%

Docker 命令说明

写在前面

好记性不如烂笔头,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 给镜像打标签命名(本地或者仓库均可)。