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. 在Visual Studio 中使用git——文件管理-下(六)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  2. 【敏杰开发】Beta阶段项目展示

    [敏杰开发]Beta阶段项目展示 项目相关地址汇总 线上地址:http://roadmap.imcoming.top 前端仓库:https://github.com/MinJieDev/Roadmap ...

  3. 3D高清电商购物小图标图片_在线商城三维icon图标素材大全

    3D高清电商购物小图标图片_在线商城三维icon图标素材大全

  4. golang:三次握手四次挥手总结

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

  5. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  6. linux进阶之yum管理

    一.部署私有repo源 1.官网下载需要的仓库: rsync -avrt --delete rsync://mirrors.ustc.edu.cn/centos/7/cloud/x86_64/open ...

  7. CentOS7安装开发工具套件时报错解决方案

    操作系统:CentOS 7.2 执行安装命令时显示以下信息: [root@DEV-CMDB-DB02 ~]# yum -y groupinstall "Development Tools&q ...

  8. hive的排序 order by和sort by

    在算法中,各个排序算法的复杂度都比较高,正常情况下为O (nlogn) ,所以当数据量特别大的时候,对数组进行排序消耗都很大. 因为hive的计算引擎MapReduce是分布式系统, 利用分布式的特点 ...

  9. ubuntu 14.04安装mysql-python

    网上看到的是想安装mysql-python都得安装mysql本身,可是我就不想安装这个数据库,而是用于连接到别的服务器上的mysql,所以下面就是安装过程: 1. 直接运行: pip install ...

  10. p4 学习笔记

    新版的p4编译器编译p4-14 p4c test.p4 -o meter --std p4-14 #p4-14和p4-16存在较大差异,参考p4代码时需注意 p4语言特性 无符号数bit类型的操作:此 ...