实验环境

CentOS 7.5

容器

容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。

进入容器

可使用以下命令进入容器:

attach命令

docker container attach [OPTIONS] CONTAINER

[root@kvm ~]# docker container attach --help
Usage: docker container attach [OPTIONS] CONTAINER
Attach to a running container
Options:
--detach-keys string 指定退出attach模式的快捷键
--help 帮助信息
--no-stdin 是否关闭标准输入,默认是保持打开;--no-stdin=true|false
--sig-proxy 是否代理收到的系统信号给应用进程,默认为true;--sig-proxy=true|false

注意:

  • attach命令只能进入处于运行状态的容器中;
  • attach命令直接进入容器并启动命令的终端,不会启动新的进程;
  • attach命令进入容器后,如果直接从这个stdin中exit(ctrl+d),会导致容器的停止;不建议使用此命令操作容器。

exec命令

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

[root@kvm ~]# docker container exec --help
Usage: docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
-d, --detach 在容器中后台执行命令;
--detach-keys string 指定将容器切回后台的按键;
-e, --env list 指定环境变量列表;
--help 帮助信息
-i, --interactive 打开标准输入接受用户输入命令,默认值为false;--interactive=true|false;
--privileged 是否给执行命令以高权限,默认值为false;--privileged=true|false;
-t, --tty 分配伪终端,默认值为false;--tty=true|false;
-u, --user string 执行命令的用户名或ID;--user=""。

注意:

  • 同attach命令,exec命令也只能进入处于运行状态的容器中;
  • 不同attach命令,exec命令是在容器中打开新的终端,并且可以启动新的进程;
  • exec命令进入容器后,如果直接从这个stdin中exit(ctrl+d),不会导致容器的停止;
  • 使用exec命令的同时使用 -it 选项时,会打开一个跟我们平时使用的TTY一样的终端。

删除容器

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

[root@kvm ~]# docker container rm --help
Usage: docker container rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
-f, --force 是够强制终止并删除一个运行中的容器;
--help 帮助信息;
-l, --link 删除容器的链接,但是保留容器;
-v, --volumes 删除容器挂载的数据卷。

默认情况下,docker rm命令只能删除已经处于停止或退出状态的容器,并不能删除还处于运行状态的容器,除非使用-f参数强制删除。

删除所有处于同一状态的容器

可以使用docker ps -a状态定位容器并对其进行过滤:创建,重新启动,运行,暂停或退出。要查看已退出容器的列表,可使用-f参数根据状态进行过滤。当确认要删除这些容器时,使用-q参数将容器ID传递给docker rm命令;eg:

  • 列出所有处于停止状态的容器列表

    docker ps -a -f status=exited
  • 删除所有处于停止状态的容器

    docker rm $(docker ps -a -f status=exited -q)

    批量删除其他状态的容器方法同理。

删除所有容器

  • 删除所有容器首先需要停止所有容器

    docker stop $(docker ps -a -q)
  • 删除所有容器

    docker rm $(docker ps -a -q)

docker容器 - 进入容器、删除容器的更多相关文章

  1. docker学习笔记2--对镜像/容器的命令操作

    Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...

  2. .NET Core容器化之多容器应用部署@Docker-Compose

    1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Ngin ...

  3. .NET Core容器化之多容器应用部署-使用Docker-Compose

    原文补充: -- docker-compose.ymlversion: ' services: mvc-web: container_name: mvc.web.compose build: . re ...

  4. docker删除镜像和删除容器

    删除容器:docker rm ID 删除镜像:docker rmi ID

  5. Docker导入、导出、删除容器

    1.导出某个容器导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名导出后在本地可以看到有一个centos.t ...

  6. 如何批量删除Docker中已经停止的容器

    如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...

  7. docker端口映射,批量删除容器

    docker端口映射 http://blog.csdn.net/yjk13703623757/article/details/69212521 批量删除容器 http://blog.csdn.net/ ...

  8. Docker stop停止/remove删除所有容器

    原文地址:https://blog.csdn.net/superdangbo/article/details/78688904 docker ps // 查看所有正在运行容器$ docker stop ...

  9. docker 批量删除容器和镜像

    docker 批量删除容器和镜像 1,删除单个镜像或者容器 docker  rmi  镜像ID/镜像名字:TAG docker  rm  容器ID/容器名字 1.停止所有的container,这样才能 ...

  10. [转] 如何批量删除Docker中已经停止的容器

    [From]https://blog.csdn.net/csdn_duomaomao/article/details/78587103 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这 ...

随机推荐

  1. java学习笔记之IO编程—目录和文件的拷贝

    进行文件或目录的拷贝时,要先判断处理对象是文件还是目录,如果是文件则直接拷贝,如果是目录还需要拷贝它的子目录及其文件,这就需要递归处理了 import java.io.*; class FileUti ...

  2. js对象赋值

    看到一道题: 根据包名,在指定空间中创建对象 效果 namespace({a: {test: 1, b: 2}}, 'a.b.c.d') 结果 {a: {test: 1, b: {c: {d: {}} ...

  3. 设置Eclipse中的字符集为UTF-8

    Eclipse 修改字符集 默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下: ...

  4. Accept Xcode/iOS License to run git

    在没有安装Xcode的情况下, 使用了 webstorm 的git,提示 安装xcode,安装完成后,并没有打开xcode,而是再次使用git,发现 提示 输入以下命令行: sudo xcodebui ...

  5. 解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题

    在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0& ...

  6. badge徽章、挂件模版

    markdown语法 Gitee卡片 Gitee挂件 Github挂件 Gitee卡片 [![gqzdev/ForFuture Group](https://gitee.com/zhong96/sho ...

  7. Spring5源码阅读环境搭建-gradle构建编译

      前沿:Spring系列生态十分丰富,涉及到各个方面.但是作为Spring生态的核心基础Spring,是最重要的环节,需要理解Spring的设计原理,我们需要解读源码.   在构建Spring源码阅 ...

  8. Git学习笔记-上传一个新的项目到GitHub上

    前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...

  9. SpringBoot学习- 3、整合MyBatis

    SpringBoot学习足迹 1.下载安装一个Mysql数据库及管理工具,同类工具很多,随便找一个都可以,我在windows下做测试项目习惯使用的是haosql 它内部集成了MySql-Front管理 ...

  10. Java单体应用 - 架构模式 - 02.MVC架构

    原文地址:http://www.work100.net/training/monolithic-architecture-mvc.html 更多教程:光束云 - 免费课程 MVC架构 序号 文内章节 ...