はじめに
今回もDocker公式ドキュメントを実施してみます。
お次はどうやらNode.js
を使用したサンプルアプリケーションを使ったチュートリアルになるようです。
とはいえ、JavaScript
の経験がなくとも問題ないようですよね、安心して実施していきます。(?)
サンプルアプリケーションの取得
以下のコマンドを実行します。
なお、こちらのリポジトリはgetting-startedで使用する全てのコードが含まれていますが、今回使用するのは/app
ディレクトリとなります。
$ git clone https://github.com/docker/getting-started.git
コンテナイメージのビルド
ここから、/app
をコンテナ化するためのイメージを作成していきます。
Dockerfileの作成
アプリケーションをビルドするために、まずはDockerfile
を作成します。
Dockerfile
には、コンテナイメージで使用される手順(指示)スクリプトをテキストベースで記述します。
それでは実際に作成していきましょう。
Dockerfile
をpackage.json
があるディレクトリと同じディレクトリに作成します。(/app
ディレクトリ内に作成する)
# syntax=docker/dockerfile:1 FROM node:12-alpine RUN apk add --no-cache python g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"]
この時、.txt
などの拡張子がつかないように注意します。ファイル名は単にDockerfile
としてください。
docker build
Dockerfile
が作成できたら、ターミナルからdocker build
を実行します。
ターミナルで、app
ディレクトリへ移動するのを忘れずに。
完全なコマンドは以下となります。
$ docker build -t getting-started .
(最後のピリオドを忘れずに!!)
今回もコマンドについて解説します。
フラグ | 解説 |
---|---|
-t getting-started | -t をつけると、イメージにタグ名をつけることができます。 |
. (最後のピリオド) | Dockerfileがカレントディレクトリにあることを表します。 |
Dockerfile
に記述されている内容についてはいずれまとめます・・・。
コンテナの開始(docker run)
イメージが完成したので、アプリケーションを実行してみます。
$ docker run -dp 3000:3000 getting-started
(コマンド中の-dp
は-d -p
と同じ意味です)
コマンド実行が成功しましたら、ブラウザでhttp://localhost:3000 を見てみましょう。
以下のようになれば成功です!!
終わりに
今回はここまでとなります。次回はアプリケーションの更新を行います。