进入容器交互终端

使用docker attach命令进入容器交互终端。

注意:如果多个窗口同时attach到同一个容器,那么所有窗口都会同步显示。如果某个窗口因命令阻塞时,那么其他窗口将无法执行操作。

[root@CentOS-7 ~]# docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest 6a2f32de169d 13 days ago 117.2 MB
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker run --name test -idt ubuntu
6a0e7b067fe3122ad23b34d84653ca0872cda44efff903198f41e76e017e4a26
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a0e7b067fe3 ubuntu "/bin/bash" 7 seconds ago Up 7 seconds test
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker attach test
root@6a0e7b067fe3:/#
root@6a0e7b067fe3:/# exit
exit
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@CentOS-7 ~]#

退出容器交互终端

通过Ctrl-p和Ctrl-q键,可以退出正在交互的容器终端,此时容器不会终止。

特别注意:通过exit命令或Ctrl+d键来退出容器终端时,所创建的容器立刻终止。

[root@CentOS-7 ~]# docker run --name test -it ubuntu bash
root@a445204315f3:/#
root@a445204315f3:/# # 先后按Ctrl-p和Ctrl-q键
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a445204315f3 ubuntu "bash" 36 seconds ago Up 34 seconds test
[root@CentOS-7 ~]#

使用nsenter工具进入容器交互终端

nsenter启动一个新的shell进程(默认是/bin/bash), 同时会把这个新进程切换到和目标(target)进程相同的命名空间,相当于进入了容器内部。

nsenter包含在util-linux 2.23版本之后,而且运行需要root权限。

特别注意:通过exit命令或Ctrl+d键来退出容器终端时,所创建的容器不会终止。

[root@CentOS-7 ~]# rpm -qa |grep util-linux
util-linux-2.23.2-26.el7.x86_64
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a445204315f3 ubuntu "bash" 2 hours ago Up 2 hours test
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# PID=$(docker inspect --format "{{ .State.Pid }}" test)
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# nsenter --target $PID --uts --ipc --net --pid
[root@a445204315f3 ~]#
[root@a445204315f3 ~]# exit
logout
[root@CentOS-7 ~]#
[root@CentOS-7 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a445204315f3 ubuntu "bash" 2 hours ago Up 2 hours test
[root@CentOS-7 ~]#

Docker - 终端交互的更多相关文章

  1. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第四组(转)

    十:联机处理-可选项终端根据卡片行为分析的结果,执行对应的处理.若卡片响应联机,则终端发起联机操作.联机处理使得发卡行后台可以根据基于后台的风险管理参数检查并授权批准或拒绝交易.除了传统的联机欺诈和信 ...

  2. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组

    七:终端风险管理-必选但包含可选步骤异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中.商户强制联机:商户可以将当前交易强制为联机处理.最低限额:控制交易当前交易金额或同一张卡片连续几笔交 ...

  3. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)

    四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...

  4. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)

    两个PPT结合起来--一些基础介绍--每一步的详细细节还要去研读文档 EMV-全球标准PBOC-国内标准 ----------------------一:必选:应用选择应用选择的方法:目录选择法.AI ...

  5. 多服务器终端交互利器--polysh和atnodes到高逼格日志中心

    最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注. 在分布式的年代,一个应用需要部署到多台服务器上.那么要查看日志文件 ...

  6. docker进入交互界面

    进入cmd交互界面 docker run -it python:3.5 /bin/bash 退出 exit ctrl + d

  7. 超炫酷的 Docker 终端 UI lazydocker

    A simple terminal UI for both docker and docker-compose, written in Go with the gocui library. https ...

  8. Docker - 从零开始到操作

    从零开始 介绍Docker的基本概念和命令,并给出简单使用示例和参考信息. Docker - 基础讲义 http://www.cnblogs.com/anliven/p/6281373.html Do ...

  9. Docker部署Bytom全节点钱包

    微服务和容器目前比较流行,相信很多小伙伴都比较熟悉docker, 如果你不是太了解,可以查看文档docker学习手册.那如何用docker搭建比原链(Bytom)的节点呢? 在操作之前,请自行安装do ...

随机推荐

  1. Eclipse集成Tomcat教程

    (初学者都会问一个问题,就是Eclipse好用还是Myeclipse好用.好吧,这个问题我昨晚才刚刚问完,哈哈,因为我一开始学Java都是直接下了一个MyeClipse来用的,没想过太多.其实也是,两 ...

  2. MVC插件实现

    本人第一篇随笔,在园子里逛了这么久,今天也记录一篇自己的劳动成果,也是给自己以后留个记录. 最近领导让我搞一下插件化,就是实现多个web工程通过配置文件进行组装.之前由于做过一个简单的算是有点经验,当 ...

  3. 检测Windows程序的内存和资源泄漏之原生语言环境

    最近接连收到大客户的反馈,我们开发的一个软件,姑且称之为App-E吧,在项目规模特别大的情况下,长时间使用会逐渐耗尽内存,运行越来越缓慢,软件最终崩溃.由于App-E是使用混合语言开发的,主界面使用C ...

  4. Vue.js 2.2 卡片api

    给vue开发者和爱好者发送点福利! 卡片上一共117个api,方便查阅 网址: https://vuejs-tips.github.io/cheatsheet Github: https://gith ...

  5. Pad控件 UIPopoverController的介绍与使用(Pad的专属菜单控件、Swift版本)

    UIPopoverController 是iPad特有控件,iOS9之前,在iOS上也可以使用,在iOS9之后,只能用于Pad上. 如果非要在iOS上使用,编译不会有问题,运行后会崩溃,报错如下: T ...

  6. MongoDB基础教程系列--第一篇 进入MongoDB世界

    1.什么是MongoDB MongoDB是跨平台的.一个基于分布式文件存储的数据库.由C++语言编写.用它创建的数据库具备性能高.可用性强.易于扩展等特点.MongoDB将数据存储为一个文档,数据结构 ...

  7. js在(FF)中长字段溢出(自动换行)

    function toBreakWord(el,intLen){    var obj=document.getElementByIdx_x(el);     var strContent=obj.i ...

  8. JavaScript设计模式读书笔记之一:接口

    接口 在JavaScrip中模仿接口 用注释描述接口 用属性检查模仿接口 用鸭式辨型模仿接口 依赖于接口的设计模式 工厂模式 组合模式 装饰者模式 命令模式 接口 在JavaScrip中模仿接口 用注 ...

  9. css3 loading动画 三个省略号

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. 微信小程序,前端大梦想(三)

    微信小程序的事件及生命周期   继续下节课,今天我们还是从四个方面来了解小程序:     ●常用事件和事件冒泡   ●配置   ●app生命周期及app对象的使用   ●页面的生命周期   一.事件的 ...