はじめに
UdemyでDockerの学習を進めている最中で、途中経過をアウトプットしたいと考えています。
今回は、
「pythonが実行出来るubuntuのイメージをDockerfileから作る」
ことをやっていきたいと思います。
環境
Windows10
Docker version 24.0.6
Dockerfileの構成
1.From
- Dockerfileの一番最初に書く
- ベースとなるイメージ
- osを指定する事が多い。(ubuntu、alpineなど)
FROM ubuntu:latest
2.RUN
- 主に必要なPKGをインストールする
- 複数の処理は&&でつなげる
(RUNを複数行作ると、作った分だけイメージレイヤーが出来てしまって最終的にイメージが大きくなってしまうため) - apt-get updateを最初に実行することが多い
- 改行「\」を使って見やすくする
RUN apt-get update && \
apt-get install sudo && \
# pythonをインストールする(インストールプロセス中の確認プロンプトを自動的に "Yes"
sudo apt install -y python3
3.CMD
- コンテナのデフォルトのコマンドを指定
- ubuntuだとだいたい["/bin/bash"]
- ["実行するコマンド", "param1", "param2"]
CMD ["/bin/bash"]
前回の記事と同じことをやろうとすると、
https://qiita.com/hirotakasengoku999/items/35545b8a9f909f55b626
以下のようなDockerfileになります。
Dockerfile
FROM ubuntu:latest
RUN apt-get update && \
apt-get install sudo && \
# pythonをインストールする(インストールプロセス中の確認プロンプトを自動的に "Yes"
sudo apt install -y python3
# 作業ディレクトリを設定
WORKDIR /work
RUN touch test.py && echo 'print("aaa")' > test.py
CMD ["/bin/bash"]
備考
前回はubuntuのコンテナを起動してから、
コンテナの情報を更新してコミットしてイメージを作成していましたが、
それだとイメージの中身がどうなっているかわかりずらいため、
Dockerfileを作成してそこからイメージを作成するのが一般的なようです。