開発日記 Dockerfile編 -後編- ~Cookiecutter Django調べた。~
まずは
こちらの前編の続きです。
CFFI とは
Cで実装された処理をpythonで使うためのライブラリ。
詳しくはFFIから学ぶといいかもしれません。
調べ。
libffi-dev
違う言語をコンパイルしてくれる。
py-cffi
libffi-dev
Cと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
sedはLinuxユーティリティ。
文字列を編集する。
-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"]
コンテナをファイルとして使用する場合に定義するコマンド。