2020年5月19日火曜日

Dockerfileの記述方法について

1)FROM
①ベースイメージの設定
②publicのリポジトリを指定して取得するのが楽(例えば、ruby:2.3.3みたいなイメージ)
③複数回指定し複数イメージ作成することが可能だが、その場合は直前の内容までが一つのimageとしてcommitされる
④digestはdocker images --digestsで表示可能
FROM  
FROM : 
FROM @

例:
FROM nginx:1.15.0-alpine


2)MAINTAINER
作成者情報を設定
MAINTAINER

3)ADD
①新しいファイル、フォルダをコピーする。(圧縮されているファイルは展開される)
例:
ADD

4)COPY
②新しいファイルをフォルダコピーする。(圧縮されているファイルは展開されない)
COPY 
 ->主にxxxx.confファイル系をローカル上からコンテナに送り込むのに便利

5)ENV
③環境変数の設定
ENV  
ENV =

6)RUN
①対象のイメージにインストールされているコマンドを実行できる(useradd,yum,apt-get等はよく使う)
RUN 
例:
RUN pip install -r requirements.txt

7)EXPOSE
①特定のポートを解放する。
EXPOSE 

例:
EXPOSE 9000

8)CMD
①実行するコンテナーのデフォルト値を設定するのが一番の目的
②同じDockerfile内で使用できるのは一回のみ
③ENTRYPOINTに対して引数を設定することも可能

例1:
CMD echo "This is a test." | wc -
例2:
CMD ["/usr/bin/wc", "--help"]


9)WORKDIR
①ワークディレクトリを設定する
②同じDockerfile内に複数回指定可能
③ENVで登録したパスを利用してもよい

例:
/var/www/laravel

0 件のコメント:

コメントを投稿

istio ingress gateway(指定したEnvoyプロキシが接続しているクラスターの情報表示)

指定した Envoy プロキシが接続しているクラスターの情報を表示しています。 出力からは、Envoy プロキシがどのサービスに対して接続設定を持っているか またはどのサービスとの通信が行われているかを確認できます。 [出力の説明] SERVICE FQDN :  接続先サービス...