首页 > 解决方案 > 创建 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

标签: docker

解决方案


如果脚本位于工作目录中,请使用以下命令访问它./

ENTRYPOINT ["./entrypoint.sh"]

推荐阅读