Dockerfileメモ
Dockerfileとは
Dockerfileは、Dockerイメージを作成するためのテキストファイル
以下の情報が記述される
- 基本となるOS
- インストールする必要があるソフトウェア
- コピーするファイル・ディレクトリ
- 開くポート
- 実行するコマンド
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "run", "dev"]
FROM
ベースとなるイメージを指定
FROM ubuntu:18.04と記述すると、Ubuntu 18.04をベースにしたイメージが作成
WORKDIR
コマンドを実行する作業ディレクトリを指定
WORKDIR /appと記述すると、その後のRUN、CMD、ENTRYPOINT、COPY、ADD命令が/appディレクトリで実行される
COPY
ソースコードや設定ファイルをローカルからDockerイメージにコピーする
COPY index.html /mydir/index.htmlと記述すると、ローカルのindex.htmlがイメージの/mydir/index.htmlにコピーされる
RUN
イメージ作成時に実行するコマンドを指定します。例えば、RUN apt-get update && apt-get install -y gitと記述すると、イメージ作成時にパッケージリストの更新とgitのインストールが行われます
EXPOSE
コンテナがリッスンするポートを指定する(デフォルトのプロトコルはTCP)
プロトコルを指定する場合は EXPOSE [ポート番号]/[プロトコル]
CMD
Dockerコンテナが実行されたときにデフォルトで実行するコマンドを定義
CMD ["apachectl","-D","FOREGROUND"]と記述すると、コンテナが実行されたときにApacheがフォアグラウンドで起動する