docker容器 - 进入容器、删除容器
实验环境
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容器 - 进入容器、删除容器的更多相关文章
- docker学习笔记2--对镜像/容器的命令操作
Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...
- .NET Core容器化之多容器应用部署@Docker-Compose
1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Ngin ...
- .NET Core容器化之多容器应用部署-使用Docker-Compose
原文补充: -- docker-compose.ymlversion: ' services: mvc-web: container_name: mvc.web.compose build: . re ...
- docker删除镜像和删除容器
删除容器:docker rm ID 删除镜像:docker rmi ID
- Docker导入、导出、删除容器
1.导出某个容器导出某个容器,非常简单,使用docker export命令,语法:docker export $container_id > 容器快照名导出后在本地可以看到有一个centos.t ...
- 如何批量删除Docker中已经停止的容器
如何批量删除Docker中已经停止的容器 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...
- docker端口映射,批量删除容器
docker端口映射 http://blog.csdn.net/yjk13703623757/article/details/69212521 批量删除容器 http://blog.csdn.net/ ...
- Docker stop停止/remove删除所有容器
原文地址:https://blog.csdn.net/superdangbo/article/details/78688904 docker ps // 查看所有正在运行容器$ docker stop ...
- docker 批量删除容器和镜像
docker 批量删除容器和镜像 1,删除单个镜像或者容器 docker rmi 镜像ID/镜像名字:TAG docker rm 容器ID/容器名字 1.停止所有的container,这样才能 ...
- [转] 如何批量删除Docker中已经停止的容器
[From]https://blog.csdn.net/csdn_duomaomao/article/details/78587103 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这 ...
随机推荐
- 题解 AT5632 【Sum of Two Integers】
在幼儿园的时候,我们就学习过把一个数分成\(a\)与\(b\),我们只需要用计算机来模拟这个过程就可以了. 我们先从奇数开始看起,以\(5\)为例: 我们可以发现,\(5\)可以分成\(1\)和\(4 ...
- ES6实现图片切换特效
效果图 demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- linux-crond_计划任务
定时计划任务 主要文件介绍: [root@nginx ~]# ll /etc/cron* -d drwxr-xr-x. 2 root root 21 7月 11 20:28 /etc/cron.d d ...
- MySQL的操作数据库SQL语法
MySQL的操作数据库SQL语法 顺序:操作数据库 > 操作数据库中的表 > 操作数据库中的表的数据 MySQL不区分大小写字母 1. 操作数据库 1.创建数据库 2.删除数据库 3.使用 ...
- LaTeX技巧010:LaTtex中如何给每个句子加序号?
效果图: 代码: \documentclass{article} \newcounter{sentence} \renewcommand\thesentence{\textsuperscript{\a ...
- 远程执行本地脚本_linux
一.远程执行脚本 1.免机器指纹确认(无需填写yes/no) ssh -o StrictHostKeyChecking=no root@192.168.108.78 2.远程执行本地脚本 ssh -o ...
- PHP 实现时间戳转化为几分钟前、几小时前等格式
//发布时间提示 function get_last_time($time) { // 当天最大时间 $todayLast = strtotime(date('Y-m-d 23:59:59')); $ ...
- 打包Windowsform项目出现File 'Cognex.VisionPro3D.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'错误
错误信息: 个人理解此错误的大概意思是:打包的文件是64位的但是打包后的文件设置的是32位的,就出现冲突了. 解决方案:选择打包程序项目的属性窗口设置TargetPlatform属性为对应的值,本项目 ...
- eclipse怎么debug项目
1.打断点,服务器debug启动 2.debug:打断点,加项目.f5:进入方法 f6:下一行代码 f8:执行到下一个断点处
- 数组的concat连接
let arr1 = [1,3,5],arr2 = [2,32,78],arr3 = [];arr3 = arr1.concat(arr2);// arr1 = [1,3,5] arr2 = [2,3 ...