HOME/🐋 Docker/

🐳 Dockerfile

Article Outline

publicdomainq-0020603gmd cf. https://publicdomainq.net/container-ship-0020603/

|| Dockerfile

|| 書き方

| instraction (基本)

  1. FROM : FROM {dockerimage} # OS等々指定
  2. RUN : RUN {linux comand} # やりたいこと
  3. CMD :

1. FROM

FROM {dockerimage} # OS等々指定する。

2. RUN

RUN {linux comand} # やりたいこと
  • ig.

    RUN touch test
    RUN echo `hello world` > test

    (注意) RUN を複数書きすぎてファイルが重くなる問題 → Dockerimageのレイヤー数は最小に!

  • RUNの他に、COPYADDがレイヤーを作成するインストラクション

  • &&: コマンド結合

  • \: 改行

  • 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

|| REFERRENCE

  • -