14 9月, 2016

Docker常用命令

内容纲要

docker version

显示Docker版本信息。

docker info

显示Docker系统信息,包括镜像和容器数。

docker search

从Docker Hub中搜索符合条件的镜像。
--automated 只列出 automated build类型的镜像。
--no-trunc 可显示完整地镜像描述。
-s 40 列出收藏数不小于40的镜像。

docker pull

从Docker Hub中拉去或者更新指定镜像。
-a 拉取所有tagged镜像。

docker login

按步骤输入用户名、密码和邮箱,即可登录Docker Hub。

docker logout

运行后从指定服务器登出,默认为官方服务器。

docker images

  1. docker images [ options ] [ name ]

列出本地所有镜像。其中 [ name ] 对镜像名称进行关键词查询
-a 列出所有镜像(含过程镜像)。
-f 过滤进项,如: -f [‘dangling=true’] 只列出满足 dangling=true 条件的镜像。
--no-trunc 可显示完整地镜像ID。
-q 仅列出镜像ID。
--tree 以树状结构列出镜像的所有提交历史。

docker ps

列出所有运行中得容器。
-a 列出所有容器(含沉睡镜像)。
--before="nginx" 列出在某一容器之前创建的容器,接受容器名称和ID作为参数。
--since="nginx" 列出在某一容器之后创建的容器,接受容器名称和ID作为参数。
-f [exited=<int>] 列出满足exited=条件的容器。
-l 仅列出最新创建的一个容器。
--no-trunc 显示完整地容器ID。
-n=4 列出最近创建的4个容器。
-q 仅列出容器ID。
-s 显示容器大小。

docker rmi

从本地一个或多个指定的镜像。
-f 强行移除该镜像,即使其正被使用。
--no-prunc 不移除该镜像的过程镜像,默认移除。

docker rm

移除一个容器。
-f 强行移除该容器,即使其正在运行。
-l 移除容器间的网络连接,而非容器本身。
-v 移除与容器关联的空间。

docker history

查看指定镜像的创建历史。
--no-trunc 显示完整的提交记录。
-q 仅列出提交记录ID。

docker start|stop|restart

启动、停止、重启一个或多个指定容器。
-a 待完成。
-i 启动一个容器并进入交互模式;
-t 10 停止或者重启容器的超时时间(秒),超时后系统将杀死进程。

docker kill

杀死一个或多个指定容器进程。
-s "kill" 自定义发送至容器的信号。

docker events

从服务器拉取个人动态,可选择时间区间

  1. docker events --since= "s2" >"20141020"
  2. docker events --until= "s2" > "20120310"

docker save

将指定镜像保存成tar归档文件,docker load的逆操作。 保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。
-o "debian.tar" 指定保存的镜像归档。

  1. docker save -o "debian.tar"
  2. docker save > "debian.tar"

docker load

从tar镜像归档中载入镜像,docker save的逆操作。 保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。
-i "debian.tar" 指定输入的镜像归档。

  1. docker load < debian.tar
  2. docker load -i "debian.tar"

docker export

将指定容器保存成tar归档文件,docker import的逆操作。 导出后导入(exported-imported)的容器会丢失所有的提交历史,无法回滚。

  1. docker export <container>
  2. docker export nginx-01 > export.tar

docker import

从归档文件(支持远程文件)创建一个容器,docker export的逆操作,可为导入容器打上标签。 导出后导入(exported-imported)的容器会丢失所有的提交历史,无法回滚。

  1. docker import url|- "o" >[repository[:tag "o">]]
  2. cat export.tar "p"> | docker import - imported-nginx:latest
  3. docker import http://example.com/export.tar

docker top

查看一个正在运行容器的进程,支持ps命令参数。

  1. docker top <running_container> "o">[ps options]

docker inspect

检查镜像或者容器的参数,默认返回JSON格式。
-f 指定返回值的模块文件。

  1. docker inspect nginx:latest
  2. docker inspect nginx-container

docker pause

暂停某一容器的所有进程。

docker unpause

恢复某一容器的所有进程。

docker tag

标记本地镜像,将其归入某一仓库。
-f 覆盖已有标记

  1. docker tag [options "o"] <image>[:tag "o">] [repository/ "o">][username/]name "o">[:tag]

docker push

将镜像推送至远程仓库,默认为Docker Hub。

  1. docker push name[:tag "o">]
  2. docker push laozhu/nginx:latest

docker logs

获取容器运行时的输出日志。
-f 跟踪容器日志的最近更新。
-t 显示容器日志的时间戳。
--tail="10" 仅列出最新10条容器日志。

  1. docker logs [options "o">] <container>
  2. docker logs -f -t --tail="s2">"10" insane_babbage

docker run

启动一个容器,在其中运行指定命令。
-a stdin 指定标准输入输出内容类型,可选 STDIN / STDOUT / STDERR 三项。
-d 后台运行容器,并返回容器ID。
-i 以交互模式运行容器,通常与-t同时使用。
-t 为容器重新分配一个伪输入终端,通常与-i同时使用。
--name="nginx-lb" 为容器指定一个名称。
--dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致。
-P 设置主机随机端口映射 (-P 容器端口)
-p 设置主机固定端口映射 (宿主机端口:容器端口)
-v 设置挂载卷
--volumes-from 从另一个container共享volume
--dns-search example.com 指定容器DNS搜索域名,默认和宿主一致。
-h "mars" 指定容器的hostname。
-e username="ritchie" 设置环境变量。
--env-file=[] 从指定文件读入环境变量。
--cpuser="0-2" or --cpuset="0,1,2" 绑定容器到指定CPU运行。
--net="bridge" 指定容器的网络连接类型,支持 bridge / host / none
--link=[] 添加到另一个容器的连接
--expose=[] 在运行时,暴露一些端口

docker exec

在已经存在的容器内运行一个命令。
-d 分离模式:在后台运行
-i 即使没有附加,也保持STDIN打开
-t 分配一个伪终端

  1. docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

You may also like...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注