docker - 创建 docker 容器时无法运行脚本
问题描述
我正在使用 docker-compose 构建图像并运行容器。在我的 Dockferfile 中,我包含了这一行:
ENTRYPOINT ["entrypoint.sh"]
CMD /bin/bash
这个入口点脚本确实存在(我确实尝试进入一个容器并且它存在)并且脚本的工作目录也正确。脚本本身是:
#!/bin/bash
set -e
set -u
echo "==> Executing master image entrypoint ..."
echo "-> Setting up ROS"
source "./devel/setup.bash"
#chmod 666 /dev/ttyUSBO
echo "==> Container ready"
exec "$@"
当我运行时:
docker-compose up --build
我收到此错误:
ERROR: for 45f1dcaf575e_rosdocker_master_1 Cannot start service master: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"entrypoint.sh\": executable file not found in $PATH": unknown
ERROR: for master Cannot start service master: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"entrypoint.sh\": executable file not found in $PATH": unknown
解决方案
如果脚本位于工作目录中,请使用以下命令访问它./
:
ENTRYPOINT ["./entrypoint.sh"]
推荐阅读
- react-native - 如何强制模态中的内容为模态高度的 100%?
- python - 在 Python 中以快速更新的参数显示
- heroku - Heroku Bot 在 24 小时后停止
- python - Python Selenium 和 Chromedriver CentOS8
- mysql - 尝试使用 MySQL Connector for .NET 时,我的 Web.config 文件中的错误在哪里?
- python - 从用户输入将数据插入mysql
- r - 在 R 中,如何浏览 ssh 和 awk
- c - 更改多维数组中的一个元素会更改所有具有值的元素
- three.js - Three.js透明点云没有正确融合点
- c++ - 试图转换
输出到字符串