让 Shell 访问正在运行的 Docker 容器:实用指南

2023-10-15

Docker 是容器化事实上的标准,提供了一种打包和分发应用程序的有效方法。作为开发人员或系统管理员,有时您可能需要获得对正在运行的 Docker 容器的 shell 访问权限。这可以用于调试目的、应用程序管理或其他各种任务。

本指南提供了有关如何获得对正在运行的 Docker 容器的 shell 访问权限的分步过程。

先决条件

在我们深入研究该过程之前,请确保您的计算机上已安装并运行 Docker。本指南假设您对镜像、容器和 Dockerfile 等 Docker 概念有基本的了解。

第 1 步:列出正在运行的 Docker 容器

首先,您需要确定要获得 shell 访问权限的 Docker 容器。 Docker 提供了一个命令来列出当前正在运行的所有容器:

docker ps 

此命令将显示一个表,其中包含容器 ID、映像名称、命令、创建时间、状态、端口和正在运行的容器的名称。

1
2
3
容器ID   图像COMMAND已创建地位端口NAMES
72ca2488b353   my_image       “/entrypoint.sh /sta…”   7 hours ago   Up 3 hours   0.0.0.0:8080->80/tcp     我的容器
e7904c4c6ecamysql:5.7      “docker-entrypoint.s…”   7 hours ago   Up 7 hours   0.0.0.0:3306->3306/tcp   my_db

第 2 步:获取对 Docker 容器的 Shell 访问权限

一旦确定了要访问的 Docker 容器,就可以使用以下 Docker 命令来获取 shell 访问权限:

1
docker exec -it <容器-id> /bin/bash

在此命令中:

  • exec用于在正在运行的 Docker 容器中运行命令。
  • -it选项允许您与容器交互。 “i”代表“interactive”,“t”代表“tty”,它在容器内分配一个伪 TTY 或终端。
  • 是您要访问的 Docker 容器的 ID。将其替换为您的实际容器 ID。
  • /bin/bash在容器内启动 Bash shell。如果 Bash 不可用,您可以使用 /bin/sh 代替。

这是一个例子:

docker exec -it e7904c4c6eca /bin/bash 

执行命令后,您的提示符应更改为类似以下内容根@e7904c4c6eca:/#,表明您现在位于容器内。

第 3 步:与 Docker 容器交互

一旦获得 shell 访问权限,您就可以在容器内运行任何命令。例如,要列出当前目录中的所有文件,可以运行 ls 命令:

ls -l 

第四步:退出Docker容器

要退出 shell 而不停止 Docker 容器,请使用 exit 命令:

exit 

此命令将结束 shell 会话并返回到主机 shell。

结论

获得对正在运行的 Docker 容器的 shell 访问权限是一个简单的过程。它允许您与应用程序交互并执行必要的调试或管理任务。重要的是要记住,一旦容器被删除,您在容器内所做的任何更改都将丢失,除非这些更改位于卷中。

对于使用容器化应用程序的任何人来说,了解如何直接与 Docker 容器交互是一项宝贵的技能。通过本指南,您现在应该能够轻松地获得对任何正在运行的 Docker 容器的 shell 访问权限。

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

让 Shell 访问正在运行的 Docker 容器:实用指南 的相关文章

随机推荐

  • 如何安装和配置 Squid Linux 代理服务器

    Linux代理服务器或代理服务器通常是保存访问过的网页以供以后请求的服务器 因此如果您尝试访问同一个网页或其他任何人 您将从代理服务器获取页面 这非常有用 它使网上冲浪速度更快并减少流量 这意味着成本更低 缓存服务器可以将外部流量减少至 4
  • 使用 Sed 命令进行文本替换的实际示例

    在本教程中 您将深入研究如何使用实际示例sed命令可用于文本替换 在本教程结束时 您将对以下方面有更深入的了解sed及其在文本替换中的实际应用 目录 hide 1 将 URL 中的 HTTP 更改为 HTTPS 2 用下划线替换空格 3 更
  • 数据帧过滤:在 Pandas 查询中使用正则表达式

    The 查询 方法Pandas 中允许您根据查询表达式过滤 DataFrame 行 将正则表达式 regex 的强大功能与query 方法允许更高级和灵活的查询 本教程将指导您完成使用正则表达式的过程query 熊猫中的方法 目录 hide
  • 使用 to_xml 将 Pandas DataFrame 转换为 XML 文件

    The to xml方法允许您将 DataFrame 转换为 XML 格式 在本教程中 我们将逐步完成导出Pandas使用 DataFrame 到 XML 文件to xml method 目录 hide 1 Pandas to xml 语法
  • 使用 to_csv 将 Python Pandas DataFrame 导出到 CSV 文件

    The to csv函数允许您从a写入数据PandasDataFrame 到 CSV 文件 当您需要保存 共享或导出数据以便在不同的环境或应用程序中进一步使用或分析时 这非常有用 它带有多个参数 可帮助您根据需要自定义流程 例如 您可以选择
  • 使用 Linux-PAM 增强 Linux 身份验证

    在上一篇文章中 我们讨论了Linux iptables 防火墙 还有人问认证问题 今天我们来聊聊Linux中用于身份验证的强大框架 那就是Linux PAM PAM or 可插拔的身份验证模块是位于 Linux 应用程序和 Linux 本机
  • Linux gzip 命令:综合教程

    gzip 代表 GNU zip 是基于 Unix 的系统上用于压缩和解压缩文件的流行工具 该工具不仅仅压缩单个文件 与其他工具 例如tar用于压缩目录 目录 hide 1 命令结构和选项 2 压缩和解压文件 3 了解 gzip 中使用的压缩
  • 使用 Pandas read_xml 将 XML 文件解析为 DataFrame

    The read xml函数于Pandas用于读取 XML 可扩展标记语言 文件并将其转换为 DataFrame 让我们深入研究实际示例来了解它是如何工作的 目录 hide 1 Pandas read xml 语法 2 Read from
  • Python 中的 JSON 操作和转换技术

    在本教程中 您将学习各种 JSON 处理技术 例如加载 JSON 对象 写入 排序 JSON 或解析 JSON 等 JSON 代表JavaScript Object N代表结构化数据的otation JSON 数据用于交换信息 在Pytho
  • 什么是 Linux 文件系统?简易指南

    您可能已经对 Linux 有一点了解 但您可能并不确切知道您的数据在幕后是如何处理的 因为如果你像许多其他 Linux 用户一样 你就会认为这些事情是理所当然的 但你的 Linux 文件系统可没这么无忧无虑 所以 今天我们要讨论的正是 Li
  • Python pytest 教程(您获得无错误代码的门票)

    pytest 是一个强大的 Python 测试框架 可让您轻松创建小型 简单的测试 同时可扩展以支持应用程序和库的复杂功能测试 它为您提供了一个平台 通过将测试用例编写为函数来执行 Python 测试 从而减少代码和样板代码的数量 它还可以
  • 使用 Linux curl 命令处理身份验证方法

    curl是一个用于为不同协议传输数据的命令行工具 在其广泛的功能中 最重要的功能之一是它在与服务器通信时处理不同类型的身份验证的能力 本教程深入探讨了使用的身份验证机制卷曲命令在 Linux 上 目录 hide 1 基本认证 2 Diges
  • 如何在 Fedora 34/33 上安装 ownCloud 10

    ownCloud使用 Web 界面提供数据访问 它还提供跨设备同步和共享的选项 一切都在您的控制之下 使用 ownCloud 我们可以轻松地对每个用户的文件 ACL 实施限制 ownCloud 提供桌面客户端 Windows MAC Lin
  • 检查素数的Python程序

    理解素数的概念以及如何识别它们是数学的一个重要方面 素数是只有两个不同的自然数约数的数字 1 和它本身 换句话说 如果您选择一个素数并尝试将其除以除 1 和该数字本身之外的任何其他数字 则结果总是会是分数 前几个素数是 2 3 5 7 11
  • 如何计算 MySQL 数据库大小

    MySQL 数据库的大小是需要监控的一个重要方面 因为它会影响数据的性能 备份和恢复过程 在本文中 我们将介绍计算 MySQL 数据库大小的方法 并提供 SQL 查询和解释 MySQL 数据库大小计算 有几种不同的方法可以计算 MySQL
  • 如何在 Ubuntu 22.04 上安装 VirtualBox 7.0

    您知道可以在 Linux 计算机上运行虚拟机吗 这是真的 借助 VirtualBox 等虚拟化软件 您可以为任何操作系统 甚至是像 Windows 或 OS X 这样不寻常的操作系统 设置单独的环境 而不会给您的主操作系统带来风险 您会发现
  • 如何在 Linux 中搜索 X 天/小时内创建的文件

    本教程将帮助您查找 X 天内创建或修改的文件 这里X表示任意数 使用 find 命令 您还可以搜索 X 分钟内创建或修改的内容 1 搜索30天内创建 修改的文件 使用此命令可以搜索 var backup 目录中 30 天内创建或修改的所有文
  • 用于备份 Windows 事件日志和清理的 PowerShell 脚本

    PowerShell 是一个功能强大的命令行工具 允许系统管理员自动执行许多日常任务 包括管理 Windows 事件日志 在此脚本中 我们将创建一个 PowerShell 脚本 将所有事件日志备份到指定位置 然后清除日志以释放磁盘空间并提高
  • 如何在 Ubuntu 18.04 和 16.04 上配置 NFS 共享

    网络文件系统 NFS 是一个分布式文件系统协议 它允许客户端计算机上的用户以类似于访问本地存储的方式通过网络访问文件 本文将帮助您在 Ubuntu 系统上安装和配置 NFS 并导出目录并将其挂载到客户端系统上 网络详情 我们在同一网络 19
  • 让 Shell 访问正在运行的 Docker 容器:实用指南

    Docker 是容器化事实上的标准 提供了一种打包和分发应用程序的有效方法 作为开发人员或系统管理员 有时您可能需要获得对正在运行的 Docker 容器的 shell 访问权限 这可以用于调试目的 应用程序管理或其他各种任务 本指南提供了有