Docker 进入启动容器

2023-10-26

在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。

这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。
1、attach命令
attach命令是Docker自带的命令,命令格式为:
docker attach [–detach-keys[=[]]] [–no-stdin] [–sig-proxy[=true]] CONTAINER

支持三个主要选项:

·–detach-keys[=[]]:指定退出attach模式的快捷键序列,默认是CTRL-p CTRL-q;

·–no-stdin=true|false:是否关闭标准输入,默认是保持打开;

·–sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。

但是,使用attach命令有时候并不方便。当多个窗口同时使用attach命令连到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
2、exec命令
Docker从1.3.0版本起提供了一个更加方便的exec命令,可以在容器内直接执行任意命令。该命令的基本格式为:

docker exec [-d|–detach] [–detach-keys[=[]]] [-i|–interactive] [–privileged] [-t|–tty] [-u|–user[=USER]] CONTAINER COMMAND [ARG…]。

比较重要的参数有:

·-i,–interactive=true|false:打开标准输入接受用户输入命令,默认为false;

·–privileged=true|false:是否给执行命令以高权限,默认为false;

·-t,–tty=true|false:分配伪终端,默认为false;

·-u,–user=”“:执行命令的用户名或ID。

例如进入到刚创建的容器中,并启动一个bash:
这里写图片描述

可以看到,一个bash终端打开了,在不影响容器内其他应用的前提下,用户可以很容易与容器进行交互。
通过指定-it参数来保持标准输入打开,并且分配一个伪终端。通过exec命令对容器执行操作是最为推荐的方式。

3、nsenter 工具
在util-linux软件包版本2.23+中包含nsenter工具。如果系统中的util-linux包没有该命令,可以按照下面的方法从源码安装:

$ cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24;
$ ./configure --without-ncurses
$ make nsenter && cp nsenter /usr/local/bin

为了使用nsenter连接到容器,还需要找到容器进程的PID,可以通过下面的命令获取:

PID=$(docker inspect --format "{{ .State.Pid }}" )

通过这个PID,就可以连接到这个容器:

$ nsenter --target $PID --mount --uts --ipc --net --pid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 进入启动容器 的相关文章

随机推荐

  • Layui之动态选项卡&iframe使用

    目录 tab选项卡 方法层 实体类 User web层 登录界面代码 tab选项卡 我们顺着上篇的博客内容 在那个基础上加一个选项卡 首先我们打开Layui的在线文档 网址如下 Tab选项卡 在线演示 Layuihttp layui org
  • LeetCode之螺旋矩阵 II 简单易懂与晦涩难懂两种方法解决

    目录 题目 方法一 简单易懂 四方步步紧逼法 代码 方法二 复杂一点 上下法 代码 题目 给你一个正整数 n 生成一个包含 1 到 n2 所有元素 且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 示例 1 输入 n 3
  • ptv服务器系统,红狮PTV安灯管理服务器系统有效提升国内某知名车企生产效率

    国内某知名汽车企业 在其以往的日常生产管理中 由于汽车生产各产线设备间没有实现互联 工位间信息不流通 每天都需要安排设备管理员定时巡视各个工位 检查设备运行状况 记录生产现状 这不仅造成了时间 人力成本的浪费 更制约了该企业生产效率的提升
  • 修改远程桌面登陆端口的方法

    Windows系统中的远程终端服务是一项功能非常强大的服务 其默认的端口号3839很容易成为入侵者长驻主机的通道 使用户电脑成为通常称为的 肉鸡 受入侵者远程操控 盗取用户重要资料和隐私信息 是非常严重的网络安全隐患 因此 在使用远程终端服
  • 小程序的开放能力、分享及组件的传参

    一 小程序开放功能 1 获取网络状态wx getNetworkType 2 从网络上下载文档wx downloadFile 3 下载成功之后进行预览文档wx openDocument Page 点击 预览文档 的按钮 触发tap回调 tap
  • python解析xml

    import xml dom minidom dom xml dom minidom parse r K identify voc to coco cache annotations 0 xml 打开xml文件 送到dom解析
  • 【网络基础】通俗易懂的搞明白什么是子网掩码(大白话版)

    目录 前言 什么是子网掩码 子网 如何判断是否在同一个子网 子网掩码的功能总结 子网掩码的分类 可变长子网掩码 总结 前言 本次的文章内容均为个人在网络上搜罗知识点并梳理而来 尽量用浅显易懂的方式讲解 但不会讲的很深入 因为只想给刚入行的人
  • webrtc.lib(m74) 链接的 obj 文件[应该与编译选项有关,备忘]

    01F68076 0 obj test fake video codecs fake vp8 encoder obj 01F680A6 48 obj test fake video codecs fake vp8 decoder obj 0
  • Android监听程序的安装和卸载

    在android系统中 安装和卸载都会发送广播 当应用安装完成后系统会发android intent action PACKAGE ADDED广播 可以通过intent getDataString 获得所安装的包名 当卸载程序时系统发and
  • 数据库——SQL语句(其它)

    目录 1 数据类型 2 查询条件 1 数据类型 数据类型 含义 CHAR n CHARACTER n 长度为n的定长字符串 VARCHAR n CHARACTERVARYING n 最大长度为n的变长字符串 CLOB 字符串大对象 BLOB
  • 基于体系结构架构设计-架构真题(十五)

    基于体系结构开发设计 Architecture Base Software Design ABSD 是指构成体系结构的 组合驱动 ABSC方法是一个自项向下 递归细化的方法 软件系统的体系结构通过该方法细化 直到能产生 产品 功能需求和设计
  • CSS实现悬浮提示(通用)

    没有废话 先看效果 为id选择器 如果有id可以直接确认到指定控件最好 如果class固定也可以只通过class选择器指向控件 不会取的也可以通过浏览器检查页面找到 代码如下 deep xmly ant select selection r
  • matlab 集成学习方法,集成学习(ensemble learning)

    本章参考西瓜书第八章编写 从个体和集成之间的关系出发 引出了集成学习的遵循的两大标准 基学习器的准确定和多样性 然后开始介绍具体的集成学习算法 串行的Boosting和并行的Bagging 前者通过对错判训练样本重新赋权来重复训练 以提高基
  • 统计机器学习---主成分分析(PCA)

    主成分分析的基本了解 主成分分析方法 是一种使用最广泛的数据降维算法 PCA的主要思想是将高维的特征映射到k维上 这k维就是主成分 并能保留原始变量的大部分信息 这里的信息是指原始变量的方差 如果用坐标系进行直观解释 一个坐标系表示一个变量
  • Air724+HC32L176做的电能集中器——JSY-1039单相4G集中器

    很多朋友在很多地方都听到过 集中器 但是对集中器还没有隔概念 那么什么是集中器呢 问 什么是集中器 集中器 concentrator device 是连接终端 计算机或通信设备的中心连接点设备 它成为电缆汇合的中心点 在若干终端密集区内 通
  • virtualbox 主机ping不通虚拟机解决办法

    场景描述 virtualbox虚拟机可以ping通主机和外网 但是主机一直无法ping通虚拟机ip 10 0 2 15 虚拟机的网络设置为nat 自己添加的nat网络 这样可以使得不通的虚拟机ip不一样 否则都选择NAT网络地址转发这个选项
  • 用deconstructSigs来做cosmic的mutation signature图

    用deconstructSigs来做cosmic的mutation signature图 作者的英文文档对这个包的用法描述的非常清楚 我只是记录一下自己学习该包用法的一点感悟 安装并加载必须的packages 如果你还没有安装 就运行下面的
  • Mac电脑使用:桌面底部莫名出现白色输入框解决的解决办法

    转自 https blog csdn net CC1991 article details 82965981 关闭Finder快速搜索输入框的方法 用鼠标单击输入框 点击进去 然后按电脑键盘的 Esc 键 即可关闭这个输入框
  • 离散特征和连续特征混合_混合蛋白和特征

    Java语言的开发人员精通C 和其他包含多重继承的语言 从而使类可以从任意数量的父级继承 多重继承的问题之一是无法确定派生自哪个父继承功能 这个问题称为菱形问题 请参阅参考资料 多重继承中固有的菱形问题和其他复杂性启发了Java语言设计人员
  • Docker 进入启动容器

    在使用 d参数时 容器启动后会进入后台 用户无法看到容器中的信息 也无法进行操作 这个时候如果需要进入容器进行操作 有多种方法 包括使用官方的attach或exec命令 以及第三方的nsenter工具等 1 attach命令 attach命