Article Outline
TOC
Collection Outline
cf. https://publicdomainq.net/container-ship-0020603/
|| Dockerfile
|| 書き方
| instraction (基本)
- FROM :
FROM {dockerimage} # OS等々指定
- RUN :
RUN {linux comand} # やりたいこと
- CMD :
1. FROM
FROM {dockerimage} # OS等々指定する。
2. RUN
RUN {linux comand} # やりたいこと
ig.
RUN touch test RUN echo `hello world` > test
(注意) RUN を複数書きすぎてファイルが重くなる問題 → Dockerimageのレイヤー数は最小に!
RUN
の他に、COPY
、ADD
がレイヤーを作成するインストラクション&&
: コマンド結合\
: 改行apt
: ubuntuのパッケージ管理(パッケージインストール)RUN apt-get install {package}
RUN apt-get update
: 最新版取得レイヤー数削減(
n.b.
4→2→1と削減)
# (Layer数:4)
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install XXX
RUN apt-get install YYY
RUN apt-get install ZZZ
# (Layer数:2)
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install XXX YYY ZZZ
# (Layer:1)
# コマンドをまとめ、改行で見やすく
FROM ubuntu:latest
RUN apt-get update && apt-get install \
XXX \
YYY \
ZZZ
3. CMD
- コンテナのデフォルトコマンドを指定。
CMD ["executable", "param1", "param2"]
- Dockerfileの最後に記述(原則)
|| 実践
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y \
curl \
cvs \
nginx
| 実践 - Dockerfile(分析基盤用)
https://github.com/polar-beer/my_docker