在docker run中获取权限被拒绝

库什·帕特尔(Kush Patel)

我正在尝试使用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".

我做错了什么?

网络世界

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

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

重建映像并运行容器,它应该可以工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章