はじめに
本記事では、DockerfileからDockerimageへのコマンド達をまとめました。
本日学習した範囲内で、アウトプットします。
先日もコマンドについて投稿しているのでこちらも参照ください。
Dockerfile
DockerHubから例えばubuntu
を検索すると、
当然ubuntu
が最初に出てくるはずです。
ubuntu
ここから、
Supported tags and respective Dockerfile links
というところの一番上のリンクに入ると、Github
に行けます。
ここには、DockerfileからDockerimage
を作るためのコマンドは乗っています。
FROM scratch
ADD ubuntu-bionic-oci-amd64-root.tar.gz /
CMD ["bash"]
FROM
とかADD
とかは、INSTRUCTION
それら以降に記述するものは、argumentです。
docker build .
dockerがDockerfileを探してDockerimageを作ってくれます。
配下のDockerfileでimageを作ることが多いので、
基本的に.
を最後におきます。
また、imageを作っただけなので、
今のところでは、ダングリングのimageになっています。<none>
です。
docker images -f dangling=true
ダングリングのimageだけを表示する。
docker build -t つけたい名前 親のディレクトリー
docker images -f dangling=true
で、
表示したimageに名前をつけられる。
例
% docker build -t new-ubuntu:latest .
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
new-ubuntu latest ~~~~~~~~~~~~ 1 minutes ago 65.6MB
DockerfileのINSTRUCTIONについて
FROM
ベースになるimageを決定する。
ubuntu
とかalpine
とか。
あまりデータ容量が大きいものを使うと後々容量過多で重くなるので注意。
RUN
これを使うと好きなようにカスタマイズできる。
RUN touch test
でtestファイルを作る
また、RUNするごとに、layerができる。
RUN
を連発してしまうと、layerだらけになり容量過多になるので注意。
- コマンドを
&&
でつなげる - バックスラッシュを使って改行する
という対策をとる。
CMD
コマンド
の略。
コンテナにてLinuxのデフォルトのコマンドを指定できる。
CMD ["コマンド","(あれば)コマンドの引数1","(あれば)コマンドの引数2"]
bashを起動する場合が多いと思うので、
CMD ["bin/bash"]
が多いと思います。
原則Dockerfileの最後
に記述。
以上です。
終わりに
Dockerfileの基礎を学習していました。
理解できると楽しいですね〜。
私の学習している動画はこちらです。(有料)
最高に分かりやすいのでオススメです。
米国AI開発者がゼロから教えるDocker講座
明日もDocker学習頑張ります!