コンテナが起動した瞬間に死ぬ
前も同じことして悩んだので戒めも含めてメモ.
コンテナを立ち上げた瞬間に落ちて無限にリスタート地獄に陥った.
ログ見ると
1$ docker-compose ps
2sample | standard_init_linux.go:178: exec user process caused "exec format error"
3sample | standard_init_linux.go:178: exec user process caused "exec format error"
4sample | standard_init_linux.go:178: exec user process caused "exec format error"
5sample | standard_init_linux.go:178: exec user process caused "exec format error"
6...
なエラーが出てた.
entrypoint用に書いてるシェルスクリプトに問題があった
1FROM ubuntu
2
3~中略~
4
5COPY entrypoint.sh /
6ENTRYPOINT ["/entrypoint.sh"]
7CMD ["something"]
みたいなDockerfileを書いてた.
entrypoint.shは軽く前処理をしたら引数にもらったCMDを実行するだけのシンプルなシェルスクリプト
1if [ ${MASTER} = "yes" ]; then
2cat << EOS > /etc/powerdns/pdns.d/master.conf
3master=${MASTER}
4EOS
5fi
6
7exec "$@"
結論としてはシェルスクリプトの冒頭に#!/bin/bashって書き忘れてるだけだった.
時々書き忘れてハマるの非常にしょーもないといったところ….