docker-命令的整理笔记

  • docker attach: 将终端依附到容器上; 相当于进入到容器的 bash;

  • docker ps -a 查看容器的状态

  • docker run -it --name ubuntu ubuntu /bin/bash: 运行容器, 并执行命令: /bin/bash

  • docker stop ubuntu; 停止运行容器

  • docker start ubuntu; 重新运行容器

  • docker build: 通过 Dockerfile 创建镜像

  • docker cp: 在宿主机和容器之间相互拷贝文件:

    • docker cp [container]:[path] [dirname]

    • docker cp [dirname] [container]:[path]

    • docker cp ubuntu:/usr/local/bin/test.sh / :

    容器 ubuntu 中 /usr/local/bin/test.sh 拷贝到 / 上;

  • docker create: 创建一个新的容器; 此时的容器的状态 status 为 Created

  • docker diff: 查看容器内部发生改变的文件,

    <!-- C 对应的是文件夹, A 对应的是文件 -->
    $ docker diff ubuntu
      C /root
      A /root/.bash_history
    
  • docker events: 实时输出 Docker 服务端的事件, 比如: 容器的创建, 启动, 关闭

    $ docker events
      2019-10-15T15:46:57.996904034+08:00 network connect  0438641bf7117fbafd5a10fa869bafcdcd88c5a15198a9dd60685f9c45b6cd0a (container=f160c880996717e99a98d668a54ea25b33e0fc77fcf170684f4749c34f481123, name=bridge, type=bridge)
    
      2019-10-15T15:46:58.642726243+08:00 container start f160c880996717e99a98d668a54ea25b33e0fc77fcf170684f4749c34f481123 (image=ubuntu:16.04, name=ubuntu)
    
  • docker exec: 用于容器启动之后, 执行其他的任务

    • 通过 exec 命令可以创建两种任务: 后台任务和交互型任务

    • 后台型: docker exec -d ubuntu touch 123

    • 交互型: docker exec -it ubuntu /bin/bash: 进入到容器的 bash

  • docker export: 将容器的文件系统打包成 tar 文件;

    • docker export -o ubuntu.tar ubuntu

    • docker export ubuntu > ubuntu.tar

  • docker history: 显示镜像制作的过程; 相当于dockfile

  • docker import: 根据 tar 文件的内容新建一个镜像, 与之前的 export 命令相对应

    • docker import ubuntu.tar ubuntu:1.0.0
  • docker info: 查看 docker 的系统信息

  • docker inspect: 用于查看容器的配置信息, 包含容器名, 环境变量, 运行命令, 主机配置, 网络配置和数据卷的配置

  • docker kill: 强制终止容器,

    • 关于 stopkill 的区别,

      • docker stop 命令给容器中的进程发送 SIGTERM 信号, 默认行为是会导致容器退出, 程序内部可以捕获这个信号并自行处理, 不一定会退出;

      • docker kill 命令, 则是给容器发送 SIGKILL 信号, 这个信号会给容器必然退出;

  • docker load: 与下面的 save 命令相对应, 将下面 save 命令打包的镜像通过 load 命令导入

  • docker logs : 用于查看容器日志, 将输出到标准输出的数据作为日志输出到 docker logs 命令的终端上, 常用于后台型容器

  • docker pause: 暂停容器内的所有的进程

    • docker stats: 可以观察到此时的资源使用情况是固定不变的;

    • docker logs -f: 也可以看到没有任何的 log 日志输出

  • docker port - 输出容器端口宿主机端口映射的情况

    [root@localhost ~]# docker port blog
      80/tcp -> 0.0.0.0:80
      <!-- 容器blog的内部端口80映射到宿主机的80端口,这样可通过宿主机的80端口查看容器blog提供的服务 -->
    
  • docker ps: 查看正在运行的容器, -a 查看所有的容器

  • docker pull: 从docker hub 上拉取镜像

  • docker rename: 更改容器的名字

  • docker restart: 重启容器

  • docker rm ubuntu; 删除容器;

    • docker rm -f ubuntu; 强制删除

    • docker rm -f docker ps -aq, -q: 只列出容器 ID

  • docker rmi: 删除镜像

  • docker run: 让创建的容器立即进入到运行的状态, 该命令等于 docker create 创建容器之后, 再使用 docker start 启动容器

  • docker stats: 动态显示容器的资源消耗i情况: cpu, 内存, 网络I/O

  • docker tag; 对一个镜像进行重命名

  • docker top: 查看容器中正在运行的进程

  • docker unpause: 恢复容器内暂停的进程, 与 pause 参数相对应

  • docker wait: 捕获容器停止时的退出码

docker run 的参数

  • -e/--env=[] 设置环境变量

  • --env-file=[] 读取一个包含了环境变量的文件

  • -h/--hostname 容器的主机名

  • --link=[] 添加一个到另一个容器的连接

  • --name 容器的名字

  • --net-bridge 为容器设置网络模式

  • -p 容器端口映射 eg: 8080:80

  • --privileged=false 为容器扩展权限

当 docker run 命令时, Docker 会启动一个进程, 并为这个进程分配其独占的文件系统, 网络资源和以此进程为根进程的进程组, docker run 可以覆盖 docker build 镜像时的一些默认的配置,

docker run [options] image_name [command] [args...]

  • [options] 总结起来就两类;
* 设置运行方式, 决定容器运行方式, 前台还是后台, 设置 containerID; 设置网络参数, 设置容器的 CPU 和内存参数, 设置权限和LXC参数,

* 设置镜像的默认资源, 用户可以使用该命令来覆盖构建时的一些默认配置

容器的网络模式:

  • none: 关闭容器内的网络连接, 那么这个容器将不允许访问任何外部 router. 这个容器内部只会有一个 loopback 的接口, 而且不存在任何可以外部网络的 router;

  • Bridge: 默认设置为 bridge 模式, 此时主机会存一个 docker0 的网络接口, 同时会针对容器创建一对 veth 接口, 其中一个 veth 接口是在主机充当网卡桥接作用, 另一个 veth 接口存在容器的命名空间中, 并且指向容器的 loopback; docker 会自动给这个容器分配一个ip; 并且将容器内的数据通过桥接转发到外部

  • host: 这个容器将完全共享 host 的网络堆栈, host 所有的网络接口将完全对容器开发, 容器的主机名也会存在于主机的 hostname 中,这时, 容器所有对外暴露的端口和对其他容器的连接, 将完全无效

  • Container: 这个容器将完全服用另外一个容器的网络堆栈, 同时使用这个容器的名称必须要符合下面的格式:

    • --net container:<name|id>

命令

  • docker run -it --name ubuntu -d -link redis:redis-db ubuntu:16.04

    • 容器连接到 redis 容器, 将 redis 容器重名为 redis-db, 这样 ubuntu 容器可以使用 db 的相关的环境变量
  • docker build -t <image_name> <dockerfile_path>

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

推荐阅读更多精彩内容

  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,388评论 1 39
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,390评论 0 27
  • docker常用命令详解 - CSDN博客 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的...
    Meathill大魔王阅读 817评论 1 2
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,753评论 0 7
  • 1 有听说过骑自行车感冒的吗? 我就是。 不知道从什么时候开始,脑袋变得很脆弱,夜里窗户关不好会头疼,出门风太大会...
    学心知行阅读 372评论 3 2