Docker笔记--操作容器命令

创建容器

  • docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用docker[container] start命令来启动它。

启动容器

  • docker [container] start--启动一个已经创建了的容器

    • -d后台运行
  • docker ps--查看一个运行中的容器

创建并启动容器

  • docker [container] run --创建并启动一个容器

    • -t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
    • -i则让容器的标准输入保持打开。更多的命令选项可以通过man docker-run命令来查看。

可以按Ctrl+d或输入exit命令来退出容器

退出容器

  • ocker container wait CONTAINER [CONTAINER...]--等待容器退出

查看容器输出

  • docker [container] logs

    • -details:打印详细信息;
    • -f, -follow:持续保持输出;
    • -since string:输出从某个时间开始的日志;
    • -tail string:输出最近的若干日志;
    • -t, -timestamps:显示时间戳信息;
    • -until string:输出某个时间之前的日志。

停止容器

  • docker [container] pause CONTAINER [CONTAINER...]--暂停docker容器,处于paused状态的容器,可以使用docker [container] unpause CONTAINER[CONTAINER...]命令来恢复到运行状态。
  • docker [container] stop--该命令会首先向容器发送SIGTERM信号,等待一段超时时间后(默认为10秒),再发送SIGKILL信号来终止容器,此时,执行docker container prune命令,会自动清除掉所有处于停止状态的容器。
  • docker [container] kill--直接发送SIGKILL信号来强行终止容器
  • docker [container] restart--将一个运行态的容器先终止,然后再重新启动

当Docker容器中指定的应用终结时,容器也会自动终止

处于终止状态的容器,可以通过docker [container] start命令来重新启动

进入容器

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。这个时候如果需要进入容器进行操作,推荐使用官方的attach或exec命令。

  • docker [container] attach--进入容器,注意多个窗口同时进入容器时,所有窗口会同步显示,只要有一个窗口发生了阻塞,则所有窗口都会阻塞

    • --detach-keys[=[]]:指定退出attach模式的快捷键序列,默认是CTRL-pCTRL-q;
    • -no-stdin=true|false:是否关闭标准输入,默认是保持打开;
    • --sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。
  • docker [container] exec--可以在运行中的容器中直接执行命令

    • -d, --detach:在容器中后台执行命令;
    • --detach-keys="":指定将容器切回后台的按键;
    • -e, --env=[]:指定环境变量列表;
    • -i, --interactive=true|false:打开标准输入接受用户输入命令,默认值为false;
    • --privileged=true|false:是否给执行命令以高权限,默认值为false;
    • -t, --tty=true|false:分配伪终端,默认值为false;
    • -u, --user="":执行命令的用户名或ID。

通过指定-it参数来保持标准输入打开,并且分配一个伪终端。通过exec命令对容器执行操作是最为推荐的方式。

删除容器

  • docker [container] rm--删除处于终止或退出状态的容器

    • -f, --force=false:是否强行终止并删除一个运行中的容器;
    • -l, --link=false:删除容器的连接,但保留容器;
    • -v, --volumes=false:删除容器挂载的数据卷。
  • docker rm $(docker ps -a -q)--删除所有处于终止或退出状态的容器

导入和导出容器

  • docker [container] export--导出一个容器,不管是运行还是终止状态,可以通过-o制定tar文件或者>重定向到tar文件

  • docker [container] import [-c|--change[=[]]] [-m [=MESSAGE]] FILE |URL| - [RESPONSITORY[:TAG]]--导入一个tar文件,使其变为镜像

    • -c, --change=[]选项在导入的同时执行对容器进行修改的Dockerfile指令

查看容器

  • docker [container] inspect--查看某容器的具体信息,会以json格式返回包括容器Id、创建时间、路径、状态、镜像、配置等在内的各项信息
  • docker [container] top--查看容器内进程,包括PID、用户、时间、命令等
  • docker [container] stats--显示容器CPU、内存、存储、网络等使用情况的统计信息
    • -a, -all:输出所有容器统计信息,默认仅在运行中;
    • -format string:格式化输出信息;
    • -no-stream:不持续输出,默认会自动更新持续实时结果;
    • -no-trunc:不截断输出信息。

容器其他命令

  • docker [container] cp--复制文件
  • docker [container] port--查看容器端口映射

Docker笔记--操作容器命令的更多相关文章

  1. Docker 笔记一相关命令

    Centos 7 : Service network restart 重启网络 Ip addr 查看ip地址 Uname -r 查看内核版本 Yum install docker 安装docker 命 ...

  2. Docker中进入容器命令行及后台运行

    Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果. 1.进入容器命令行 su root docker run -i ...

  3. docker 常用的容器命令

    容器命令 # --name 给容器起名 # -p 端口映射 # -d 后台启动 # -it 交互模式启动 # 交互模式启动 # docker run -it 镜像名/id /bin/bash # do ...

  4. Docker镜像与容器命令(转)

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  5. Docker学习总结(4)——Docker镜像与容器命令

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  6. Docker镜像与容器命令 专题

    https://yeasy.gitbooks.io/docker_practice/content/install/mirror.html docker的工作流程图: 至少需要配备三样东西去使用doc ...

  7. Docker笔记:常用命令汇总

    Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...

  8. docker启动各种容器命令大全

    安装步骤梳理 搜索镜像 拉取镜像 查看镜像 启动镜像 停止容器 移除容器 安装tomcat docker hub好查找tomcat镜像  docker search tomcat 从docker hu ...

  9. docker 创建各容器命令合集

    学习中...持续更新 docker-compose安装: curl -L https://github.com/docker/compose/releases/download/1.27.4/dock ...

随机推荐

  1. linux跨文件复制粘贴

    跨文件是这样的: 复制a.txt的第20行至第30行到b.txt中vi a.txt:2010yy:e b.txtp

  2. C++ primer plus读书笔记——第16章 string类和标准模板库

    第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...

  3. BUAA软件工程_结对编程

    1.写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 结对项目作业 课程目标 培养软件开发能力 本作业对实现目标的具体作用 培养结对编程开发项目的能力 ...

  4. C#·对于BOM头之完全解决方案

    阅文时长 | 0.46分钟 字数统计 | 798.4字符 主要内容 | 1.引言&背景 2.使用C#写入带有/不带有BOM头的文件? 3.对于读取文件时,避免BOM头造成的异常. 4.声明与参 ...

  5. Mybatis-plus在原有的select查询语句中动态追加查询条件

    一.适用场景 1.使用了xml形式的mapper.2.不想在select查询中大量使用<if>标签来判断条件是否存在而加入条件. 二.步骤 1.自定义wrapper继承QueryWrapp ...

  6. 用JIRA管理你的项目——(二)JIRA语言包支持及插件支持

    昨天兴奋地把JIRA环境搭好,瞅了一眼管理界面--全英文,真是汗! 尚且不说全中文版管理界面让人操作起来多少会有困难,更别说是全英文! 昨天赞叹JIRA语言包支持丰富,今天终于找到了号称100%的语言 ...

  7. tuple必须加上逗号

    tuple支持  空 元组 不加逗号 >>> tup4 = () tuple非空的元组必须加上逗号>>> tup4 = (55,)>>> tup4 ...

  8. 2017-11-20 崂应工作总结,含LTC3780模块分析,含运放原理

    学习了运算放大器的分类 运放的单点输入 差动模式 共模抑制输入模式 反相位比例运放 正相比例运放 电压跟随器 运放的放大比例计算 LTC3780模块的原理 因为: R19  这个电阻不确定他的接法 暂 ...

  9. Python3.x 基础练习题100例(91-100)

    练习91: 题目: 时间函数举例1. 程序: if __name__ == '__main__': import time print (time.ctime(time.time())) print ...

  10. grasshopper之python电池执行逻辑

    在grasshopper中,需要导入的包虽然不多,但是相当绕人,所要实现的操作往往找不到,暂时做个分类. 双击输入 python 电池: # 导入rhino 包 import Rhino #Rhino ...