開発日記 Dockerfile編 -後編- ~Cookiecutter Django調べた。~

まずは

こちらの前編の続きです。

CFFI とは
Cで実装された処理をpythonで使うためのライブラリ。
詳しくはFFIから学ぶといいかもしれません。

調べ。

libffi-dev
違う言語をコンパイルしてくれる。

py-cffi
libffi-devCとPython向けっぽいです。

gettext
他のGNUパッケージが多言語メッセージを生成するのを支援するフレームワークを提供するツールのセット
つまり翻訳してくれる感じみたい。

postgresql-client
psqlクライアント
postgresqlに接続するために必要。

COPY ./requirements /requirements
requirementsフォルダをコンテナ側にファイル・ディレクトリをコピーする。

RUN pip install -r /requirements/local.txt
ビルドする際にlocal.txtに記載されたライブラリをインストールする。

COPY ./compose/production/django/entrypoint /entrypoint
entrypointファイルをコンテナ側にファイル・ディレクトリをコピーする。

RUN sed
sedLinuxユーティリティ。
文字列を編集する。

-i 's/\r$//gr' /entrypoint
entrypointフォルダ内を
-iで直接編集する。
あとは正規表現

chmod +x
で権限を実行。

chown
djangoフォルダ所有者を指定。

COPY ./compose/production/django/start /start RUN sed -i 's/\r$//g' /start RUN chmod +x /start RUN chown django /start
は上記と同じ。

COPY . /app
は全体をコピーしています。

RUN chown -R django /app
所有権を再帰的に変更。

USER django
コンテナユーザー。
ちなみに所有権や権限などはこのユーザーとなります。

WORKDIR /app
コンテナ作業ディレクトリの指定。

ENTRYPOINT ["/entrypoint"]
コンテナをファイルとして使用する場合に定義するコマンド。

調べたもの

Alpine Linux packages