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. golang:三次握手四次挥手总结

    TCP的三次握手 所谓三次握手 Three-Way Handshake 是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立.好比两个人在打电话: 当连接被建立或被终止,交换的报 ...

  2. SimpleSelectionSort

    简单选择排序 <script type="text/javascript"> var obj={ data:[0,3,1,5,7,4,8,9,5], length:8 ...

  3. 【转载】kvm迁移

    https://www.jianshu.com/p/60132085a3c9 kvm分静态和动态迁移,静态就是关机迁移,比较简单,动态迁移就是不关闭服务器进行迁移.静态迁移:确定虚拟机关闭 https ...

  4. Sed常用功能个人整理

    Sed常用功能个人整理 AsdilFibrizo关注 2019.06.24 10:23:41字数 240阅读 15 Sed对1G以下的数据效率很高这里介绍一些个人在工作中遇到的sed问题 1.查找字段 ...

  5. 利用S3fs在Amazon EC2 Linux实例上挂载S3存储桶

    一.准备!!! 1.使用拥有足够权限的IAM账号登录AWS控制台 2.创建S3存储桶,给存储桶命名如"my-bucket"(如果使用已有存储桶,本步骤可略过) 3.有该S3存储桶访 ...

  6. 云计算OpenStack核心组件---horizon Web管理界面(9)

    一.horizon介绍 Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 , 管理员可以使用通过 W ...

  7. ubuntu16.04服务自启动(弹控制台)

    一.设置root桌面用户登录 1.vim  /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在最后一行添加greeter-show-manual-lo ...

  8. 友盟umeng消息推送直接复制就能用(纯干货)

    一. 单播推送(unicast) 1.1 图 1.2 代码 1 /** 2 * 根据设备的deviceToken, 去给指定的设备推送消息 3 * 4 * @param deviceToken 单个d ...

  9. 「 洛谷 」P2151 [SDOI2009]HH去散步

    小兔的话 欢迎大家在评论区留言哦~ HH去散步 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入 标准输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 ...

  10. .net core 使用阿里云分布式日志

    前言 好久没有出来夸白了,今天教大家简单的使用阿里云分布式日志,来存储日志,没有阿里云账号的,可以免费注册一个 开通阿里云分布式日志(有一定的免费额度,个人测试学习完全没问题的,香) 阿里云日志地址: ...