0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Angular + Docker + Visual Studio Code + WSL開発環境構築

Posted at

最終的な実装結果はこちら

事前準備

やること

  1. WSLのインストール1
  2. Visual Studio Code (VS Code)のインストール2
  3. VS Codeの拡張機能のインストール
    • Remote Development3
  4. Dockerエンジンのインストール4

チェックリスト

  • WSLの起動: ターミナルでwsl -vを実行しWSLのバージョンが取得できる。
  • VS Codeの起動: インストールしたVS Codeが起動できる。
  • VS Code拡張機能の導入: VS CodeでCTRL+SHIFT+Xを打ち,表示された拡張機能一覧にRemote Developmentがある。
  • Dockerの起動: ターミナルでdocker run hello-worldを実行し,「Hello from Docker!」が表示される。

Dockerコンテナの準備

やること

新しいプロジェクトのディレクトリを作成

mkdir /path/to/new_project
cd /path/to/new_project

Dockerfileとdocker-compose.ymlの作成

ディレクトリ構成
.
├── Dockerfile
└── docker-compose.yaml
Dockerfile
FROM node:latest

RUN mkdir /usr/local/app
WORKDIR /usr/local/app

RUN rm -rf node_module
RUN npm install -g @angular/cli
docker-compose.yaml
services:
  web:
    build:
      context: .
    ports:
      - 4200:4200
    volumes:
      - .:/usr/local/app
    stdin_open: true
    tty: true

チェックポイント

  • Dockerfile: docker build .でDockerイメージが作成される。
  • docker-compose.yaml: docker compose upでコンテナが起動する。
  • Angular CLI: docker compose run --rm web ng versionでAngular CLIのバージョン情報が出力される。

Angularプロジェクトの作成

やること

プロジェクトの新規作成

docker compose up -d
docker compose exec web ng new my-app --directory .

チェックポイント

  • docker compose exec web ng serve --host 0.0.0.0を実行した後,ブラウザで http://localhost:4200 にアクセスしてAngularの初期画面が表示される。
  1. WSL公式ページ

  2. Visual Studio Code 公式ページ

  3. Remote Development

  4. Dockerエンジンのインストール

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?