docker ENTRYPOINT exec "$@" 和 permission denied

883 阅读1分钟

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

输出观察

image.png

print in docker-entrypoint.sh # 来自entrypoint.sh 的输出
from commad line # 来自命令行的输出

其中使用entrypoint.sh 可能遇到permission denied错误提示

ENTRYPOINT ["sh","./entrypoint.sh"]可以解决

参考