1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dcokerfile メモ

Last updated at Posted at 2020-10-07

Dockerfile で使用できる命令(instruction) 
大文字小文字の区別をしない。慣習として大文字を使用する。

  • FROM
    必ずこれから始める。FROMより前に置けるのはARGのみ。ARGはFROMの引数宣言。
FROM <image> [AS <name>]
FROM <image>[:<tag>] [AS <name>]
FROM <image>[@<digest>] [AS <name>]
  • ESCAPE 
    エスケープ文字の指定。デフォルトで「’’」が設定されている。

  • ENV
    環境変数の置換。以下の命令に置いてサポートされる。

    • ADD
    • COPY
    • ENV
    • EXPOSE
    • LABEL
    • USER
    • WORKDIR
    • VOLUME
    • STOPSIGNAL
  • RUN

RUN <command> シェル形式
RUN ["executable", "param1", "param2"] exec形式
  • CMD
CMD ["executable","param1","param2"] (exec 形式、この形式が推奨される)
CMD ["param1","param2"] ( ENTRYPOINT のデフォルト・パラメータとして)
CMD command param1 param2 (シェル形式)
  • LABEL
LABEL <key>=<value> <key>=<value> <key>=<value> ...
  • EXPOSE
    コンテナの実行時に、どのポートをリッスンさせるかの指定
EXPOSE <port> [<port>...]
  • ENV
    環境変数の設定
ENV <key> <value>       一つの変数に一つの値を設定
ENV <key>=<value> ...  一度に複数の変数の値を設定
  • ADD
    <src>に示されるファイル、ディレクトリ、リモートファイルURLをにコピーする。
ADD <src>... <dest>
ADD ["<src>",... "<dest>"] <dest> は絶対パスか、あるいは WORKDIR からの相対パスにより指定
  • COPY
COPY <src>... <dest>
COPY ["<src>",... "<dest>"] 絶対パスか、あるいは WORKDIR からの相対パスにより指定
  • ENTRYPOINT
    複数記述されていても、最後の命令しか実行されない
ENTRYPOINT ["executable", "param1", "param2"] (exec 形式、推奨)
ENTRYPOINT command param1 param2 (シェル形式)
  • VOLUME
VOLUME ["/data"]
VOLUME /data
  • USER
USER <user>[:<group>]
USER <UID>[:<GID>]
  • WORKDIR
    ワークディレクトリの指定。WORKDIR が存在しないときは生成される。
    その後に続く RUN、CMD、ENTRYPOINT、COPY、ADD の各命令において利用可能。
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd  ⇒ この結果は 「/a/b/c」
  • ARG
    変数を定義して、ビルド時にその値を受け渡す。
ARG <name>[=<default value>]

以下のARG変数は定義済み。

  • HTTP_PROXY

  • http_proxy

  • HTTPS_PROXY

  • https_proxy

  • FTP_PROXY

  • ftp_proxy

  • NO_PROXY

  • no_proxy

  • ONBUILD
    イメージに対して取りが命令を追加する。そのイメージが他のビルドにおけるベースイメージとして用いられたときに実行される。

  • STOPSIGNAL

STOPSIGNAL signal
  • HEALTHCHECK
    コンテナ内でヘルスチェックを行うコマンドを指定

  • SHELL デフォルトシェルの上書き設定

SHELL ["executable", "parameters"]

デフォルトのシェルは、
Linux 上では ["/bin/sh", "-c"]
Windows 上では["cmd", "/S", "/C"]

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?