HOME/🐚 Linux/

🐳 Dockerfile

Article Outline

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

|| Dockerfile

| instraction (基本)

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

2. RUN

  • 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: 最新版取得

  • レイヤー数削減

    # (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(分析基盤用)

|| REFERRENCE

  • -
  • -