我正在尝试使用 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 .
时,它的构建没有问题。
但是,当我运行 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".
我在做什么错?
原文由 Kush Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
在调用 ENTRYPOINT 之前,您需要通过
chmod +x entrypoint.sh
更改 bash 文件的权限。因此,将您的代码更改为以下内容:重建映像并运行容器,它应该可以工作。