在docker运行中获取权限被拒绝

我正在尝试使用Dockerfile使用Docker。

我的Dockerfile如下,我在哪里使用debian linux系统。

FROM debian:jessie ENV DEBIAN_FRONTEND noninteractive ARG AIRFLOW_VERSION=1.7.1.3 ENV AIRFLOW_HOME /usr/local/airflow .. .. COPY script/entrypoint.sh /entrypoint.sh COPY config/airflow.cfg ${AIRFLOW_HOME}/airflow.cfg .. .. USER airflow WORKDIR ${AIRFLOW_HOME} ENTRYPOINT ["/entrypoint.sh"] 

所以当我运行docker build -t test . ,它build立没有问题。

但是,当我运行docker run -p 8080:8080 test

它抛出以下错误:

 container_linux.go:247: starting container process caused "exec: \"/entrypoint.sh\": permission denied" docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/entrypoint.sh\": permission denied". 

我做错了什么?

在调用ENTRYPOINT之前,需要通过chmod +x entrypoint.sh更改bash文件的权限。 因此,将您的代码更改为以下内容:

 USER airflow WORKDIR ${AIRFLOW_HOME} RUN chmod +x entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] 

重build图像并运行容器,它应该工作。