gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:06:48 30 4
gpt4 key购买 nike

这是我的 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

如果我exec进入容器( docker exec -it festive_austin bash )并运行 echo $PATH ,我会得到:

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

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

最佳答案

The ENTRYPOINT command is only invoked on docker run, not on docker exec.

我假设这个/ros_entrypoint.sh脚本负责向PATH添加内容。如果是这样,那么您可以对 docker exec 执行类似的操作:

docker exec -it <CONTAINER_ID> /ros_entrypoint.sh bash

关于docker - 进入 docker 容器,exec 丢失 PATH 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009315/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com