- docker entrypoint running bash script gets "permission denied"
- What does
exec "$@"
do? 以上两个问题,通过下面的实验说明
Dockerfile
FROM ubuntu
MAINTAINER malone
RUN mkdir -p /home/app
WORKDIR /home/app
COPY ./entrypoint.sh .
ENTRYPOINT ["sh","./entrypoint.sh"]
entrypoint.sh 这是docker run 的入口
echo "print in docker-entrypoint.sh"
exec "$@"
其中exec "$@"
可以命令行传递的命令,在同一个shell中运行
docker build -t docker/entrypoint .
build image
docker run 75 echo "from commad line"
运行images
输出观察
print in docker-entrypoint.sh # 来自entrypoint.sh 的输出
from commad line # 来自命令行的输出
其中使用entrypoint.sh 可能遇到permission denied错误提示
ENTRYPOINT ["sh","./entrypoint.sh"]
可以解决