AngularのDocker環境の備忘録

最近、Angularを使う機会があり、自宅ではやはりDockerでのクリーンな開発環境のを選択しました。

備忘録として残しておきます。

Docker構成

フォルダ/ファイル構成

左の画像の通り、シンプルな構成です。
rootの下にDockerfileとdocker-compose.ymlの2つだけの構成です。

Dockerfile

FROM node:18.19
WORKDIR /projects
RUN npm install -g @angular/cli
EXPOSE 4200

nodeのv18のイメージをベース。(少し古いか?)
コンテナ内でのディレクトリは「projects」。
コンテナ起動時にAngularをグローバルインストール。
コンテナ内での公開ポートは4200を指定。

docker-compose.yml

version: '3'
services:
  node:
    build: ./
    ports:
      - "4200:4200"
    volumes:
      - ".:/projects"
    tty: true

コンテナ名を「node」として、直下にあるDockerfileでビルド。
コンテナ内の4200ポートを物理4200ポートに紐付け。
物理フォルダ(のルート)にコンテナ内「projects」ディレクトリをマウント。
起動時にサスペンドするように設定。

dockerコンテナ起動とAngularプロジェクト作成

docker起動手順

1.コンテナ起動
docker-compose up -d

// コンテナが実行されたことを確認
docker ps
2.dockerコンテナ内に移動
// nodeコンテナにbashコマンドとして移動
docker-compose exec node bash

Angularプロジェクト作成を起動確認

1.Angularのサンプルプロジェクト「sample01」を作成
ng new sample01

※Angularプロジェクト作成時の対話形式は用途に合わせて回答

ルート直下に「sample01」プロジェクトの一式が作成される。

2.Angularプロジェクトの起動確認
// 「sample01」ディレクトリに移動
cd sample01

// AngularのWebサービス起動
ng serve --host 0.0.0.0

ブラウザで http://localhost:4200/ を開くと、無事Angularのテンプレート画面が表示される。

ポート4200はdockerの設定通り。

ここでポイントなのが、コンテナ内でAngularを起動しているので、「--host 0.0.0.0」のオプションが必要ということ。
この指定がないと、端末上のブラウザで表示できないので注意です。

なお、このオプションを指定していれば、「localhost」ではなく「127.0.0.1」「0.0.0.0」でも表示できるようです。

最後に

とりあえず、Dockerを使っての開発環境の備忘録でした。

今回のDocker環境を作ってしまえば、今回「sample01」で作ったプロジェクトの階層で、他のプロジェクトも並行できるので便利かもしれません。

あとはこれでAngularを勉強していきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です