LoginSignup
2
5

Vue/React開発環境をdocker環境で立ち上げてみる。

Last updated at Posted at 2023-04-02

はじめに

naritomoと申します。

本職はインフラエンジニアを行っています。
最近フロント技術にも興味があり、React/VueについてDockerコンテナとして
立ち上げてみました。

いろいろアドバイスいただけると嬉しいです。

立ち上げ概要

mac環境にて、
docker-composeを使用してVue/Reactコンテナを立ち上げるものになります。

完成しているソースは以下にあります。

なぜ、あえてDockerなのか?

インフラエンジニアとしてDockerから触れたほうが扱いやすく、
以下の利点を感じられたため、開発環境構築ではDockerを使用することを
推しています。

  • OS問わず同じ開発環境での開発が可能
  • 独立したフロントエンドコンテナを構築することにより、
     バックエンドと分離した開発検証が可能。 

事前準備

mac+DockerCompose+vscode+gitでの環境を構築してること。

開発環境構築方法(Vue)

docker構成フォルダ構築

ルートフォルダを作成する。

mkdir vue-docker
cd vue-docker

Dockerfileを作成し、以下の内容を入れる。

# Node.jsイメージをベースにする
FROM node:latest

# アプリケーションのディレクトリを作成する
WORKDIR /app

# アプリケーションの依存パッケージをインストールする
COPY package*.json ./
RUN npm install

# アプリケーションのソースコードを追加する
COPY . .

# アプリケーションをビルドする
RUN npm run build

# アプリケーションを起動するコマンドを指定する
CMD ["npm", "run", "serve"]

Docker-compose.ymlを作成し、以下の内容を入れる。

version: "3.9"
services:
  vue-app:
    build: .
    ports:
      - "8080:8080"
    volumes:
      - .:/app
      - /app/node_modules

コンテナ立ち上げ

docker-compose build
docker-compose up -d

サイト確認

以下のURLにアクセスし、Vueトップ画面が出てくること。

http://localhost:8080/

以下のファイルを編集し、トップ画面内容が変わることも確認してください。

vue-docker/src/App.vue

開発環境構築方法(React)

docker構成フォルダ構築

ルートフォルダを作成する。

mkdir react-docker
cd react-docker

Dockerfileを作成し、以下の内容を入れる。

# 公式Node.jsイメージをベースにする
FROM node:14

# 作業ディレクトリを設定する
WORKDIR /app

# package.jsonとpackage-lock.jsonをコピーする
COPY package*.json ./

# 依存関係をインストールする
RUN npm install

# アプリケーションのソースコードをコピーする
COPY . .

# 開発用サーバーを実行する
CMD ["npm", "start"]

Docker-compose.ymlを作成し、以下の内容を入れる。

version: "3.9"
services:
  react-app:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
      - /app/node_modules

コンテナ立ち上げ

docker-compose build
docker-compose up -d

サイト確認

以下のURLにアクセスし、Reactトップ画面が出てくること。

http://localhost:3000/

以下のファイルを編集し、トップ画面内容が変わることも確認してください。

react-docker/src/App.js

開発環境操作

開発環境コンテナ起動/設定再読み込み

docker-compose up -d

開発環境コンテナ停止

docker-compose stop

開発環境コンテナ破棄

docker-compose down

おわりに

フロント技術習得の第一歩として、Vue/React稼働dockerを構築してみました。

この作成にはchatgptも利用して構築しています。

この記事がVue/Reactを扱う方の助けになればと思います。

2
5
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
2
5