2020年5月22日金曜日

Dockerfileについて

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

例:
FROM nginx:1.15.0-alpine


MAINTAINER:
作成者情報を設定
MAINTAINER <name>


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

例:
ADD <src> <dest>


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

例:
sudo docker cp c39394e0ae36:/var/www/html/yii/framework/test ./


ENV:
③環境変数の設定
ENV <key> <value> 
ENV <key>=<value>


RUN:
①対象のイメージにインストールされているコマンドを実行できる(useradd,yum,apt-get等はよく使う)
RUN <command>

例:
RUN pip install -r requirements.txt


EXPOSE:
①特定のポートを解放する。
EXPOSE <port>
例:
EXPOSE 9000


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

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


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

例:
/var/www/laravel

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...