LoginSignup
0
0

More than 1 year has passed since last update.

【5分で解説】Dockerfile で使う FROM, RUN, CMD

Last updated at Posted at 2022-06-15

はじめに

Dockerfile を作成する際に

FROM, RUN, CMD を利用することがあります。

それぞれがどんな役割を担っているのか復習も含め整理していきます。

対象者

  • IT 初学者
  • Docker 初学者
  • インフラ系に興味がある方

得られるもの

  • FROM についての概要が把握できる
  • RUN についての概要が把握できる
  • CMD についての概要が把握できる

使用したDockerfile

FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
	curl \
	cvs \
	nginx
CMD ["ls"]

FROM

  • 作成する Docker 環境のベースとなる image (OS)を指定
  • 基本は必要最低限の機能を備えた image を指定
  • Dockerfile はFROM から書き始める

RUN

  • Linuxコマンドを実行。RUN を使うことで好きなように環境をカスタマイズできる。
  • RUN <やりたいこと> で記述
RUN apt-get update 
RUN apt-get install <package>
  • RUN毎にimage layer が作られる
  • Docker image のベストプラクティスは Layer数を最小限にする ※ RUNの数に注意

RUN を使い方

  • Dockerfile を作成 or メンテナンスする時は RUN を分けて記述する
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install curl -y
RUN apt-get install cvs -y
RUN apt-get install nginx -y
  • Dockerfile を完成させる際に && や \ でRUNの行を減らす。
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
	curl \
	cvs \
	nginx

CMD

  • コンテナ起動時のデフォルトコマンドを指定
  • CMD[”executable(ls, pwd など)”, “param1”, “param2”] で記述
CMD ["/bin/bash"]
  • 原則Dockerfileのさいごに記述
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
	curl \
	cvs \
	nginx
CMD ["ls"]
  • 一般的には /bin/bash が多いらしい
  • CMD は Layer を作らない

さいごに

簡単なdockerfile を作り記事にすることで自身の理解を再確認できました。

次は ADD, COPY などを追加して知識の幅を広げられたと思います。

私自身は Docker 初学者ですが、コツコツを成長出来たらを思います。

0
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
0
0