这是我的 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(使用前将#替换为@)