2017-06-21 30 views
1

Dockerfileを使用してDockerを使用しようとしています。docker runで許可が拒否されました

私のDockerファイルは次のとおりです。ここで私は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". 

私が間違ってやっては何?

+4

アプリのrepoでこれを行います: 'chmod + x entrypoint.sh' – Robert

+0

ロバートの権利。 'container_linux.go:247'エラーは、コンテナのENTRYPOINTまたはCMDからスローされたエラーを参照するだけです。この場合、アクセス権の問題です。 – mkasberg

+0

あなたは正しいロバートです、ありがとう.. –

答えて

0

ENTRYPOINTを呼び出す前に、bashファイルのアクセス権をchmod +x entrypoint.shで変更する必要があります。したがって、コードを次のように変更してください。

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

イメージを再構築してコンテナを実行すると、動作するはずです。

関連する問題