Tags:

前も同じことして悩んだので戒めも含めてメモ.

コンテナを立ち上げた瞬間に落ちて無限にリスタート地獄に陥った.
ログ見ると

$ docker-compose ps
sample | standard_init_linux.go:178: exec user process caused "exec format error"
sample | standard_init_linux.go:178: exec user process caused "exec format error"
sample | standard_init_linux.go:178: exec user process caused "exec format error"
sample | standard_init_linux.go:178: exec user process caused "exec format error"
...

なエラーが出てた.
entrypoint用に書いてるシェルスクリプトに問題があった

FROM ubuntu

~中略~

COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
CMD ["something"]

みたいなDockerfileを書いてた.
entrypoint.shは軽く前処理をしたら引数にもらったCMDを実行するだけのシンプルなシェルスクリプト

if [ ${MASTER} = "yes" ]; then
cat << EOS > /etc/powerdns/pdns.d/master.conf
master=${MASTER}
EOS
fi

exec "$@"

結論としてはシェルスクリプトの冒頭に#!/bin/bashって書き忘れてるだけだった.
時々書き忘れてハマるの非常にしょーもないといったところ….



コメント