Docker常用命令大全

Docker常用的客户端就是Docker命令行,因此掌握常用的命令也是非常必要的。但也不是要求我们对所有命令都烂熟于心,那样的时间成本也比较高,可以大致有个印象,需要的时候可以看看笔记文档、或者查查操作手册。

通常情况下,可以通过以下两种方式来查询想要使用的命令详情:

  • 客户端输入docker或者docker --help就能查看简易版的命令行列表;
  • 访问官方命令行文档查阅详尽版的命令行介绍;

如下是平时常用的命令及状态关系图:

docker常用命令介绍

一、管理命令

  • docker version,查看docker客户端及服务端的版本信息;
  • docker info,查看docker容器的详细信息,除了如上版本信息,还有镜像、容器数据卷、容器网络、Registry地址、物理配置等信息;
  • docker --help,查看命令帮助;

二、镜像命令

  • docker images,查看本地所有顶层镜像(top level)信息的命令,按照创建时间倒序展示 ;
    • docker images -a,查看本地所有镜像信息的命令,包含中间层;
    • docker images -q,只显示镜像ID;
    • docker images name:tag,根据镜像name:tag来查看详细信息,不支持模糊搜索;
  • docker history,查看镜像的历史信息;
    • docker history name:tag,查看name:tag对应镜像的历史信息;
  • docker search,镜像搜索命令;
    • docker search name,根据镜像name进行搜索;
    • docker search --filter=stars=1000 name,增加筛选条件,只查询stars数量在1000以上的;
  • docker pull,拉取镜像;
    • docker pull name:tag,根据name和tag拉取镜像;
  • docker rmi,移除镜像;
    • docker rmi name:tag,根据name和tag删除镜像,该镜像如果已经生成容器则不能删除;如果同一个镜像有多个tag,则只有当最后一个tag删除时才会删除镜像;
    • docker rmi -f name:tag,强制删除镜像,如论是否创建容器;
    • docker rmi -f ${docker images -q},强制删除本地所有镜像;
    • docker rmi id,根据镜像ID删除镜像,会先删除所有tag,然后删除镜像;
  • docker build,构建镜像;
    • docker build -f container_path/dockerfile -t name:tag .,指定dockerfile构建name:tag镜像,注意最后有一个.符号;
  • docker save,导出镜像,适用于需要将镜像安装到没有网络条件的服务器上的场景;
    • docker save -o E:\httpd.zip httpd:latest,将本地仓库中的httpd镜像导入到指定目录的指定文件中;
  • docker load,从指定文件中加载镜像,适用于在无网络条件的服务器上使用;
    • docker load -i E:\httpd.zip,从指定目录的指定文件中加载镜像到本地仓库中;
  • docker tag,给指定的镜像打tag,常用于指定别名,用于上传到远程镜像仓库场景;
    • docker tag httpd:latest zhangxun/httd:latest,一个镜像两个tag,删除任意一个都不会删除镜像,只有当所有tag都删除了才会真正删除镜像;但是如果删除镜像ID,则会先删除所有tag,再删除镜像;
    • docker tag id zhangxun/httpd:latest,对指定ID的镜像打tag;
    • docker tag id test.tecentcloudcr.com/project/httpd:latest,在新tag前面加上registry地址,表示后续将该镜像推送到指定的远程仓库,而非官方的Docker Hub;
  • docker push,将镜像推送到远程镜像仓库;
    • docker push zhangxun/httpd:latest,默认是推送到Docker Hub的远程仓库,一定要加上用户名前缀,否则无法推送,没有用户名前缀的都是官方镜像;
    • docker push test.tecentcloudcr.com/project/httpd:latest,推送到指定的远程仓库;

三、容器命令

  • docker run,新建并启动容器命令;
    • docker run -it name,以交互方式新建启动容器,此处name为image的,非容器的,此时容器name随机;
    • docker run --name newname name,新启动的容器指定名称为newname;
    • docker run -d name,以守护方式启动容器;
    • docker run -it -v local_path:container_path name,-v是指挂载数据卷,使得主机和容器地址挂载;
    • docker run --name name02 --volumes-from name01 name:tag,启动name02容器,共享name01数据卷,name01称为数据卷容器;
    • docker run -it --network=bridge name,启动容器使用某个指定的网络;
  • docker start,启动容器命令;
    • docker start name,这里的name是容器的name;
  • docker restart,重启容器命令;
    • docker restart name,这里的name是容器的name;
  • docker stop,停止容器命令;
  • docker kill,杀掉正在运行中的某个容器;
  • docker rm,移除容器;
  • docker ps,查看容器命令;
    • docker ps -q,只显示容器ID;
    • docker ps -a,显示正在运行和历史运行过的容器信息;
    • docker ps -l -n num,显示最近创建的num个容器信息;
      -docker container psdocker container ls的效果和docker ps完全一样;
  • docker top,查看容器中的进程信息;
    • docker top name,查看name容器中的进程信息;
    • docker container top name效果完全一样。
  • docker stats,查看容器的运行情况资源占用情况;
    • docker stats name,查看某个容器的运行情况;
    • docker container stats,效果完全一样;
  • docker logs, 查看容器中的日志;
    • docker logs -f -t --tail=20 name,查看name容器中的日志,-f表示跟踪日志输出,-t显示时间戳,--tail n,只显示最新的n条日志信息;
  • docker inspect,查看docker容器的详细信息;
    • docker inspect name,查看某个容器的详细信息;
  • docker attach,进入容器;
    • docker attach name,进入正在运行的容器name的命令行,显示该容器的运行信息;
  • docker exec,进入容器并执行命令;
    • docker exec -it name cmd,以交互方式进入容器name,同时执行cmd命令;
  • docker commit,打包生成镜像;
    • docker commit -a="author" -m="commit info" name newname:tag,写上作者、提交信息,并将当前容器打包为newname:tag的容器;
  • docker cp,容器与宿主机之间的数据拷贝;推荐使用数据卷的功能,所以这个命令实际中不常用;
    • docker cp name:/container_path local_path,将name容器中container_path路径下内容cp到宿主机的local_path路径下;
    • docker cp local_path name:/container_path,将宿主机的local_path路径下内容cp到name容器中container_path路径下
  • docker volume,查看数据卷的信息;
    • docker volume ls,查看所有存在的数据卷信息;
    • docker volume inspect name,查看数据卷的详细信息,比如对应主机的路径;
    • docker volume create name,创建一个name名称的数据卷;
  • docker network,网络设置相关;
    • docker network ls,查看宿主机上docker的网络列表;
    • docker network inspect name,根据name查看某个具体网络的信息;
    • docker network create --driver bridge --subnet 172.17.0.0/16 --gateway 172.17.0.1 yourNetName,创建自定义网络,指定网络类型、子网范围以及网关地址;
  • docker export,导出容器;
    • docker export -o /root/docker/httpd-01.tar container-id,将某个容器(无论是否正在运行)导出到指定路径的指定文件;
  • docker import,导入容器;
    • docker import /root/docker/httpd-01.tar - test/imagename:tag,从指定路径导入容器,同时创建一个基于容器快照的镜像;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,881评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,052评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,598评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,407评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,823评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,872评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,037评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,778评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,505评论 1 247
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,745评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,233评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,231评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,141评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,939评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,954评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,784评论 2 275

推荐阅读更多精彩内容

  • 一、docker三大核心概念 1. 镜像 镜像是docker运行容器的前提,docter运行容器前需要本地存在对应...
    Liekkasz阅读 394评论 0 2
  • Docker 命令 查找镜像 $ docker search image_name 下载镜像 $ docker p...
    扶我起来改bug阅读 389评论 0 0
  • 1. 查看docker信息(version、info) 查看docker版本$docker version显示do...
    even_366阅读 317评论 0 0
  • docker常用命令详解 docker logs -t --since="2018-12-26 06:39:22"...
    xuxw阅读 535评论 0 0
  • 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备...
    BestbpF阅读 261评论 0 0