LoginSignup
1
0

More than 1 year has passed since last update.

DockerfileからDockerimageへのコマンドやINSTRUCTIONについて

Last updated at Posted at 2021-09-26

はじめに

本記事では、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 testtestファイルを作る

また、RUNするごとに、layerができる。
RUNを連発してしまうと、layerだらけになり容量過多になるので注意。

  • コマンドを&&でつなげる
  • バックスラッシュを使って改行する

という対策をとる。

CMD

コマンドの略。
コンテナにてLinuxのデフォルトのコマンドを指定できる。

CMD ["コマンド","(あれば)コマンドの引数1","(あれば)コマンドの引数2"]
bashを起動する場合が多いと思うので、
CMD ["bin/bash"]が多いと思います。

原則Dockerfileの最後に記述。

以上です。

終わりに

Dockerfileの基礎を学習していました。
理解できると楽しいですね〜。

私の学習している動画はこちらです。(有料)
最高に分かりやすいのでオススメです。
米国AI開発者がゼロから教えるDocker講座

明日もDocker学習頑張ります!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0