Docker两种方式进入后台运行的容器
1、在启动容器的时候,有时候我们加了参数-d,这时容器自动进入后台运行。如果我们要进入容器,该怎么办?通常使用docker attach命令和nsenter工具。
2、docker attach是Docker自带的命令。
$ docker run -idt centos
$ docker ps
$ docker attach 9b930d9d1e20
$ docker attach cocky_carson

该命令有时候并不方便,因为他是同步的,若有多个用户attach到一个容器,一个窗口命令阻塞,其他窗口都无法执行。
3、nsenter命令:在util-linux包2.23版本后都有自带包含。nsenter可以访问另一个进程的名字空间。
是否安装nsenter,通过nsenter --version查看。
a.安装nsenter
$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz
$ tar -zxvf util-linux-2.24.tar.gz
$ cd util-linux-2.24
$ ./configure --without-ncurses && make nsenter
$ cp nsenter /usr/local/bin
b.通过nsenter命令进入容器
为了链接到容器,需要知道容器的PID,可以使用inspect获取,如:
docker inspect -f {{.State.Pid}} 5fbe4b029608 ##获取PID,5fbe4b029608为容器ID
docker inspect 5fbe4b029608 ##查看该容器的详细信息
获取了PID之后,就可以通过下面的命令进入容器了
nsenter --target  --mount --uts --ipc --net --pid ##31353为"docker inspect -f {{.State.Pid}} 5fbe4b029608"输出的结果

Docker两种方式进入后台运行的容器的更多相关文章
- Docker镜像构建的两种方式
		
关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...
 - Docker镜像构建的两种方式(六)--技术流ken
		
镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...
 - 制作Docker镜像的两种方式
		
此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像, ...
 - Docker镜像构建的两种方式(六)
		
镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...
 - 【前台 ajax】web项目前台传递数组给后台 两种方式
		
项目使用maven springMVC 有需求 将前台的数组 在ajax中 送给后台 方式1: 前台代码:[注意:ajax中的属性---traditional:true, ] 如果Post ...
 - k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
		
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
 - 基础知识:编程语言介绍、Python介绍、Python解释器安装、运行Python解释器的两种方式、变量、数据类型基本使用
		
2018年3月19日 今日学习内容: 1.编程语言的介绍 2.Python介绍 3.安装Python解释器(多版本共存) 4.运行Python解释器程序两种方式.(交互式与命令行式)(♥♥♥♥♥) 5 ...
 - 周一02.3运行python程序的两种方式
		
一.运行python程序的两种方式 方法一:交互式: 优点:输入一行代码立刻返回结果 缺点:无法永久保存代码 方法二: ...
 - PythonDay02——编程语言、python介绍以及安装解释器、运行程序的两种方式、变量
		
一.编程语言 1.1 机器语言:直接用计算机能理解的二进制指令编写程序,直接控制硬件 1.2 汇编语言:用英文标签取代二进制指令去编写程序,本质也是直接控制硬件 1.3 高级语言:用人能理解的表达方式 ...
 
随机推荐
- JavaSE基础知识(5)—面向对象(5.1类和对象概念、创建及内存分配)
			
一.类和对象的相关概念 1.面向对象和面向过程的理解 面向对象和面向过程都属于解决问题的思考方式.面向过程:以执行者的角度思考问题,侧重于“怎么做”,比较适合解决小型项目面向对象:以指挥者的角度思考问 ...
 - 查看sql 语句io执行情况
			
set statistics io,time on 表 'xx'.扫描计数 1,逻辑读取 19 次,物理读取 0 次,预读 0 次,lob 逻辑读取 76 次,lob 物理读取 0 次,lob 预读 ...
 - hugepage优势
			
hugepage的优势与使用 +2投票 优势 通过使用hugepage分配可以提高性能,因为需要更少的页,因此需要更少Translation Lookaside Buffers (TLB,高速传送 ...
 - Node.js web发布到AWS ubuntu 之后,关闭Putty,Node 项目也随之关闭的解决办法
			
最近公司把BlockChain和对应的Node Web都发布到了AWS 的ubuntu 系统上. 但是遇到了一个问题,每次启动 Node Web之后,关闭Putty,Node Web也随之关闭. 由于 ...
 - druid  + spring 事务 + removeAbandonedTimeout 超时回收导致的问题
			
今天使用上述组合 做项目.. 在做一个需要较长时间使用数据库的 请求时,项目日志没有任何报错,但是数据库也没有插入代码. 初步猜测是 数据库连接超过 removeAbandonedTimeout 时间 ...
 - tensorflow nan
			
https://github.com/tensorflow/tensorflow/issues/3212 NaNs usually indicate something wrong with your ...
 - Django积木块二——邮箱
			
邮箱 django中自带的功能,因为登录注册都需要邮箱,因此新增了一个小的app--utils用来存放 # email_send.py import random from django.core.m ...
 - HTML之<meta>使用和说明
			
关于<meta>,我们都不陌生,随意打开一个网页查看源代码就可以看到<head>里出现它的身影. 简单来说,<meta>是描述 HTML 文档的元数据.例如网页描述 ...
 - noip第17课资料
 - hdu 4911 Inversion and poj2299  [树状数组+离散化]
			
题目 题意: 给你一串数字,然后给你最多进行k次交换(只能交换相邻的)问交换后的最小逆序对个数是多少. 给你一个序列,每次只能交换相邻的位置,把他交换成一个递增序列所需要的最少步数 等于 整个序列的 ...