はじめに
この記事はdocker-entrypoint.shについて学習したこと、気づいたことをまとめていってる記事です。
余裕があれば随時更新していこうと思っています。
※ 課題解決系の記事ではないです。
docker-entrypoint.shとは
docker-entrypoint.shは初回起動時のみに処理したい内容を記述するヘルパースクリプトです。
railsであればseedでデータを流し込みたいみたいなときです。
DockerfileのENTRYPOINTで読み込ませることができます。
公式では下記のように言われています。
ベストな使い方は、イメージにおけるメインコマンドの設定です。これによりイメージを指定したコマンドを通して実行します(そして、 CMD がデフォルトのフラグとして使われます)。
docker-entrypoint.shの例
Dockerfile のベストプラクティスは公式のもので何をentrypointに書くべきか的なことが書いてあります。
entrypoint.sh
#!/bin/bash
set -e
# Remove a potentially pre-existing server.pid for Rails.
rm -f /myapp/tmp/pids/server.pid
# Then exec the container's main process (what's set as CMD in the Dockerfile).
exec "$@"