0
には、以下のDockerfile
を考慮していない限り:
FROM ubuntu:xenial-20170802
RUN (echo '#!/bin/bash'; echo 'echo "args: [email protected]"') > /run.sh && chmod a+x /run.sh
ENTRYPOINT /run.sh
docker build -t entrypoint-test .
docker run --rm entrypoint-test a b c
私はちょうど[email protected]
が動作していない、つまり
args:
を取得します。しかし、これはシェルスクリプト自体はOKであることを示していると思われる:
docker run --rm --entrypoint /bin/bash entrypoint-test /run.sh a b c
予想通り
args: a b c
を生成します。見知らぬ人でも、
docker run --rm --entrypoint /run.sh entrypoint-test a b c
作品です。元のコマンドと比較すると、同じ値の--entrypoint
のENTRYPOINT
ディレクティブを上書きするだけです。では、なぜそれが機能するのでしょうか?
docsには、argvが空白になる可能性があります(おそらく#!
の実行可能スクリプトが含まれている)。
/bin/bash^@/run.sh^@