RUNしたい(RUN
)
RUN コマンド
RUN
でコマンドを実行し、コンテナの中身をカスタマイズできます。
ただしRUN
ごとにレイヤーが作成され、イメージサイズが増加するため、
まとめることができるコマンド群は、一行にまとめてしまうのが鉄則です。
注釈
一行にまとめる場合でも\
で改行して、読みやすくできます。
2つのコマンドをまとめる場合は&&
で連結します。
パッケージを追加したい(Debian/Ubuntu)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
追加したいパッケージ名1 \
追加したいパッケージ名2 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
Debian/Ubuntuベースのイメージを使っている場合に、パッケージを追加するコマンドです。 おまじないのように書いておくとよいと思います。
apt-get install
や対話的にインストールするツールですが、
-y
オプションですべてのプロンプトに自動でyesと答えるようにしています。
また--no-install-recommends
オプションで、
必要最小限のパッケージのみをインストールしています。
そして最後のrm -rf
でキャッシュをクリーンアップしています。
(念のためapt-get clean
も実行しています)
Poetryしたい(virtualenv
/ poetry
)
WORKDIR /app
COPY pyproject.toml ./
RUN pip3 install -U virtualenv && virtualenv venv
RUN . venv/bin/activate
RUN pip3 install -U poetry
RUN poetry install
Poetryを使ったPython開発環境を作成するコマンドです。
virtualenv
で仮想環境を作成し、そこにpoetry
を追加しています。
ホストPCからコピーしたpyproject.toml
で必要はパッケージをインストールしています。