Docker常用命令

本文为转载,原文: Docker常用命令

docker

[TOC]

Docker介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

命令

容器生命周期管理

docker run

创建一个新的容器并运行一个命令

语法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明

  1. -d, --detach 指定容器运行于前台还是后台,默认为false

  2. -i, --interactive 打开STDIN,用于控制台交互

  3. -t, --tty 分配tty设备,该可以支持终端登录,默认为false

  4. -u, --user 指定容器的用户

  5. -a, --attach 登录容器(必须是以docker run -d启动的容器)

  6. -w, --workdir 指定容器的工作目录

  7. -c, --cpu-shares 设置容器CPU权重,在CPU共享场景使用

  8. -e, --env 指定环境变量,容器中可以使用该环境变量

  9. -m, --memory 指定容器的内存上限

  10. -P, --publish-all 指定容器暴露的端口

  11. -p, --publish 指定容器暴露的端口

eg: -p 8080:80, --publish 8080:80

  1. -h, --hostname 指定容器的主机名

eg: -h gitlab.chain.cn, --hostname gitlab.chain.cn

  1. -v, --volume 给容器挂载存储卷,挂载到容器的某个目录

eg: -v v /Users/zhangzc/gitlab-runner/config:/etc/gitlab-runner
--volume /Users/zhangzc/gitlab-runner/config:/etc/gitlab-runner

  1. --name 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

eg: --name gitlab-ce

  1. --net 容器网络设置(bridge: 使用docker daemon指定的网桥;host: 容器使用主机的网络;container:NAME_or_ID: 使用其他容器的网路,共享IP和PORT等网络资源; none: 容器使用自己的网络(类似--net=bridge),但是不进行配置)

  2. --rm 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)

docker start

启动一个或多个已经被停止的容器

语法

docker start [OPTIONS] CONTAINER [CONTAINER...]

实例

dcoker start gitlab

docker stop

停止一个运行中的容器

语法

docker stop [OPTIONS] CONTAINER [CONTAINER...]

实例

docker stop gitlab

docker restart

重启容器

语法

docker restart [OPTIONS] CONTAINER [CONTAINER...]

实例

docker restart gitlab

docker rm

删除一个或多个容器

语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明

  1. -f: 通过SIGKILL信号强制删除一个运行中的容器

  2. -l: 移除容器间的网络连接,而非容器本身

  3. -v: 删除与容器关联的卷

实例

docker rm gitlab

docker exec

在运行的容器中执行命令

语法

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

OPTIONS说明

  1. -d: 分离模式: 在后台运行

  2. -i: 即使没有附加也保持STDIN 打开

  3. -t: 分配一个伪终端

实例

docker exec -it gitlab bash

容器操作

docker logs

获取容器的日志

语法

docker logs [OPTIONS] CONTAINER

OPTIONS说明

  1. -f: 跟踪日志输出

  2. --since: 显示某个开始时间的所有日志

  3. -t: 显示时间戳

  4. --tail: 仅列出最新N条容器日志

实例

docker logs -f gitlab

docker inspect

获取容器/镜像的元数据。

语法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS说明

  1. -f: 指定返回值的模板文件。

  2. -s: 显示总的文件大小。

  3. --type: 为指定类型返回JSON。

实例

docker inspect gitlab

镜像仓库

docker pull

从镜像仓库中拉取或者更新指定镜像

语法

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明

  1. -a: 拉取所有 tagged 镜像

  2. --disable-content-trust: 忽略镜像的校验,默认开启

实例

docker pull gitlab/gitlab-ce

docker push

将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

语法

docker push [OPTIONS] NAME[:TAG]

OPTIONS说明

  1. --disable-content-trust: 忽略镜像的校验,默认开启

实例

docker push gitlab/gitlab-ce:chain

docker search

从Docker Hub查找镜像

语法

docker search [OPTIONS] TERM

OPTIONS说明

  1. --automated: 只列出 automated build类型的镜像;

  2. --no-trunc: 显示完整的镜像描述;

  3. -s: 列出收藏数不小于指定值的镜像。

实例

docker search gitlab

本地镜像管理

docker load

从.tar存档或STDIN加载镜像

语法

docker load [OPTIONS]

OPTIONS说明

  1. --input , -i: 从.tar存档文件读取

  2. --quiet , -q: 禁止加载输出

实例

docker load -i gitlab-ce.tar

docker save

将指定镜像保存成 tar 归档文

语法

docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明

  1. --output , -o: 输出到的文件。

实例

docker save -o gitlab-ce.tar gitlab/gitlab-ce:latest

docker tag

标记本地镜像,将其归入某一仓库

语法

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

实例

docker tag gitlab/gitlab-ce:latest gitlab/gitlab-ce:old

docker build

使用Dockerfile创建镜像

语法

docker build [OPTIONS] PATH | URL | -

OPTIONS说明

  1. --file , -f: 指定要使用的Dockerfile路径,如果不使用-f,则默认将上下文路径下的名为Dockerfile的文件认为是构建镜像的"Dockerfile"
  2. --tag , -t: 指定镜像名称和tag
  3. PATH | URL: 指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件。
    现在让我们在看看docker build -t myimage .这条命令,在这条命令中,使用-t指定了镜像名为myimage,由于没有使用-f指令,所以默认使用上下文路径下名为Dockerfile的文件认为是构建镜像的Dockerfile。最后指定上下文路径,在这条命令中,上下文路径是.。(小数点.代表着当前目录)

实例

docker build -t runoob/ubuntu:v1 .

其他

转载请注明出处:
Docker常用命令

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • Docker常用命令使用 docker ps列出容器使用语法:docker ps [options]options...
    StrongZhao阅读 631评论 0 0
  • docker常用命令详解 - CSDN博客 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的...
    Meathill大魔王阅读 784评论 1 2
  • 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备...
    Joncc阅读 275评论 0 0
  • 一、docker常用命令 docker容器生命周期管理 docker run 在一个新的容器执行一个命令 dock...
    淹死的鱼_hz阅读 9,391评论 0 5
  • 虽然在你身旁你会走得顺利更多,但是, 为了让你走得更远, 我必须要放手, 让你自己在失去搀扶的情况下也走得更稳。 ...
    张洲泽_阅读 161评论 0 0