イメージビルド
ベースイメージ
FROM debian:bookworm-slim
- Debian Slim:
stable-slim,13.3-slim,trixie-slimなど
軽量化を目的だけにAlpineを使うのは注意。
- 軽量Dockerイメージに安易にAlpineを使うのはやめたほうがいいという話 - inductor's blog
- とりあえずでDockerイメージにAlpine Linuxを選択するのはやめましょうという話 - NIFTY engineering
ロケールの追加
Debian系の場合はこんな感じ。
FROM guacamole/guacamole:1.4.0
USER 0
RUN apt-get update \
&& apt-get install -y locales \
&& sed -i -E 's/# (ja_JP.UTF-8)/\1/' /etc/locale.gen \
&& locale-gen \
&& update-locale LANG=ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
USER 1001
ファイルコピー(COPY)
COPY script.py /usr/local/src
CMD python /usr/local/src/script.py
ビルドするホストのカレントにあるscript.pyをコンテナの/usr/local/src/script.pyへコピーする
環境変数(ENV / ARG)
ENVとARGはどちらも環境変数を定義する。
ENV APP_ID=1234567890
ENVとARGの違いは、
- ビルドされたイメージにも
ENVで指定した環境変数は残る。ARGはビルド中のみ ARGはビルド時に--build-argで上書きできる