进入 docker 容器,exec 丢失 PATH 环境变量

2023-11-22

这是我的 Dockerfile:

FROM ros:kinetic-ros-core-xenial
CMD ["bash"]

如果我跑docker build -t ros . && docker run -it ros,然后从容器内echo $PATH, 我去拿:

/opt/ros/kinetic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

If I exec放入容器中(docker exec -it festive_austin bash)并运行echo $PATH, 我去拿:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

为什么环境变量不一样?如何在具有相同初始环境的容器上获得新的 bash 进程?


The ENTRYPOINT命令仅在以下时间调用docker run, 不开docker exec.

我假设这/ros_entrypoint.sh脚本负责添加东西PATH。如果是这样,那么你可以做这样的事情docker exec:

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

进入 docker 容器,exec 丢失 PATH 环境变量 的相关文章

随机推荐

  • 从哪里下载 Iesi.Collections?

    尝试 nHibernate 它说找不到 Iesi Collections 我可以从哪里得到这个 如果 nHibernate 如此重要 它不应该随 nHibernate 下载一起提供吗 与 NHibernate 一起提供的 Iesi Coll
  • Flutter:Android Studio 中的内联测试覆盖率

    我正在 Flutter 中使用 Android Studio 3 3 1 在 Window 和 Ubuntu 上 开发一个开源 Android 应用程序 来源可在Github 该项目有一个测试文件 可以生成覆盖率数据 可以使用诸如连体服 这
  • VBA Excel 使用表名检查特定表是否存在

    我的 Excel 工作表中有几个表格 每个都有唯一的表名称 我想知道当前工作表中是否存在名为 Table123 的表 有人可以帮我解决这个问题吗 谢谢 吉万 TableExists False On Error GoTo Skip If A
  • 让 make 在特定目录中创建目标文件

    GNU Make 3 82 gcc 4 7 2 c89 我有以下制作文件 INC PATH I home dev tools apr include apr 1 LIB PATH L home dev tools apr lib LIBS
  • PyVISA 未在 Linux 上列出 USB 仪器

    我正在尝试从 Raspberry Pi 与 LeCroy WaveRunner 640Zi 示波器进行通信 它们通过 USB 电缆连接 我已经在 Windows 下做到了这一点 但现在我无法让它在 Linux 下工作 如果我跑lsusb我看
  • 在 JavaScript 中导入、重命名和导出函数?

    使用 JavaScript 导入命名导出 重命名并再次导出的最短方法是什么 这段代码可以工作 但感觉比应有的更冗长 import mock as myFunctionMock from context myFunction export c
  • Android Studio 4.1 中的 navigation.json 是什么?

    我今天刚刚尝试了 Android Studio 4 1 我启动了 Android Studio 并创建了空活动 然后使用 Android 虚拟设备运行它 然后失败并显示此错误 FAILURE Build failed with an exc
  • “返回 false;” 是什么意思?做?

    我编写了一个网页 用户可以在其中输入存储在数据库中的日志条目 然后使用以下命令检索并打印在页面上ajax 我还是很陌生ajax想知道是否有人可以向我解释一下是什么意思return false 在我的代码末尾做什么 有必要吗 如果我把第二个a
  • WebRTC/WebSocket 屏幕录制

    在我的用例中 我想记录屏幕活动并将其发送到服务器 非实时 我为此查看了一些博客 示例演示 但我找不到任何与此相关的内容 我可以找到很多实时流媒体音频 视频 但找不到屏幕录制 我有以下与此相关的问题 对于这个用例来说 哪一个是高效的 WebR
  • Objective C - 如何创建界面?

    我需要能够创建一个像您在 C 中创建的接口一样 以强制一组类实现某些方法 这在目标c中可能吗 您可以创建一个协议 它看起来像这样 在 MyProtocol h 中 protocol MyProtocol void myMethod void
  • 无限滚动和回调

    如果这与我之前的帖子冲突 我深表歉意 但我对无限滚动的整个回调函数非常困惑 希望有人可以帮助我 我正在将 Portfolio Slideshow Pro http madebyraygun com wordpress plugins por
  • SQL中如何复制表避免游标?

    我想用 SQL 编写脚本 将这 2 个表 A B 复制到其他 2 个表 C D 其结构与 A B 相应 重要的 表C D是NOT必要的空 多个进程可以同时调用脚本 表A具有表B的外键 fk a b Table A Table B id FK
  • 使用 JavaScript / jQuery 进行简单的数字验证

    JavaScript jQuery 中有没有简单的方法来检查变量是否是数字 最好没有插件 我想提醒变量是否是数字 提前致谢 我不会推荐isNaN函数来检测数字 因为 Javascript 类型强制 Ex isNaN returns fals
  • 如何将 Maven 清单添加到指定依赖项的 AAR

    我 终于 能够使用以下命令将我的 Android 库发布到 AWS S3 maven 存储库this指导 它以 AAR 而不是 JAR 文件的形式发布 这意味着即使生成的 POM 文件列出了其所有内部依赖项 但在将库添加到另一个项目时它们也
  • 如何在 Visual Studio 2008 Express 中禁用异常助手和未处理的异常弹出窗口

    我正在使用 Visual Studio 2008 Express 并正在编写单元测试 其中存在许多预期的未处理异常 这会导致在调试器中运行这些测试时显示大量异常助手弹出窗口 我已在 VS 选项中禁用异常助手 但会弹出一个不同的未处理异常对话
  • 将扩展关联到程序的脚本

    我的客户正在将某些工作站中的 MS Office 替换为 OpenOffice 我的程序使用 xml 扩展名 使用开放格式 将文件导出到 Excel 并使用当前关联的程序 使用 ShellExecute 打开它 问题是 OpenOffice
  • 如何在 R Shiny 中设置单个 selectInput 菜单的样式?

    您可以将 css 样式应用到单个 selectInput 菜单吗 我在其他文章中找到了处理 selectInput 菜单样式的代码 但结果会影响应用程序中的所有内容 我只想操作单独的菜单 我还在考虑根据服务器中发生的条件向各个元素添加样式
  • 用 Prolog 编写的正则表达式解析器

    我已经在这个家庭作业问题上用头撞墙几个小时了 我们必须用 Prolog 解析正则表达式 在大多数情况下 我的谓词都可以工作 但是有一些正则表达式和字符串组合会导致它们耗尽 SWI Prolog 中的堆栈空间 以下是包含两种正则表达式字符串组
  • MediaController 定位 - 绑定到 VideoView

    关于如何定位 已经有很多讨论了 MediaController大多数答案都是使用setAnchorView 方法 乍一看这个解决方案似乎有效 但就我而言却无效 根据这个Post setAnchorView仅作为初始定位的参考MediaCon
  • 进入 docker 容器,exec 丢失 PATH 环境变量

    这是我的 Dockerfile FROM ros kinetic ros core xenial CMD bash 如果我跑docker build t ros docker run it ros 然后从容器内echo PATH 我去拿 o