Loading
  • LIGHT

  • DARK

ROUTE

ルートゼロの
アクティビティ

Vue.jsをDockerで立ち上げ!プロジェクト作成から起動まで完全解説

3

最近のSES案件では、Javaエンジニアでもフロントの対応を求められるケースが増えています。特に、Vue.jsをDockerで動かすケースは、モダンな開発環境ではよくあるパターンです。

本記事では、Vue.jsのプロジェクトをDockerコンテナ上で立ち上げる手順をまとめました。
SESエンジニアとして現場ですぐ対応できるように、最短ルートで構築する方法を紹介します。


必要環境と導入手順

■ Dockerの導入

  1. 公式サイトからインストーラーをダウンロード
     https://www.docker.com/products/docker-desktop

  2. OSに合わせてインストール(WindowsならWSL2推奨)

  3. Docker Desktopを起動して、以下コマンドで確認

docker version

■ Node.jsの導入

  1. 公式サイトからLTS版をダウンロード
    👉 https://nodejs.org/ja

  2. インストール後、バージョン確認

node -v
npm -v

2. Vueプロジェクト作成

まず、プロジェクトを作成するルートフォルダで以下を実行します。

npm create vue@latest

主な選択肢

  • Add TypeScript? → No(必要に応じてYes)

  • Add Pinia? → Yes(状態管理あり)

  • Add E2E Testing? → No


3. Dockerfile作成(コマンド実行場所:作成したVueプロジェクトの直下)

作成したプロジェクトフォルダに移動してからDockerfileを作成します。

cd プロジェクト名

Dockerfile(プロジェクト直下に作成)

# ベースイメージ
FROM node:18

# 作業ディレクトリ
WORKDIR /app

# 必要ファイルコピー
COPY package*.json ./
RUN npm install

# 全ファイルコピー
COPY . .

# 開発サーバ起動
CMD ["npm", "run", "dev"]

4. docker-compose.yml作成

同じくプロジェクト直下にdocker-compose.ymlを作成します。

version: '3'
services:
  vueapp:
    build: .
    ports:
      - "5173:5173"
    volumes:
      - .:/app
      - /app/node_modules
    stdin_open: true
    tty: true

5. 必要パッケージのインストール(コマンド実行場所:プロジェクト直下)

作成後のプロジェクト直下で、まずはパッケージをインストール。

npm install

6. Dockerコンテナ起動(コマンド実行場所:プロジェクト直下)

続いて、Dockerで起動。

docker-compose up --build

7. 完成後のフォルダ構成

プロジェクト完成後は、以下のような構成になります。

プロジェクト名/
├── src/               # ソースコード
│   ├── assets/        # 画像やCSSなど
│   ├── components/    # コンポーネント
│   ├── App.vue        # ルートコンポーネント
│   └── main.js        # エントリーポイント
├── public/            # 公開用ファイル
├── node_modules/      # 依存パッケージ
├── Dockerfile         # Docker設定
├── docker-compose.yml # Docker Compose設定
├── package.json       # npm設定
└── README.md          # 説明書

まとめと次へのステップ

今回は、Vue.jsプロジェクトをDockerで構築し、コンテナ上で動かす手順を解説しました。
SES現場では、「Docker環境でフロント対応もお願いします」と言われることも多くなっています。
この基本構築パターンを押さえておけば、どの現場でも柔軟に対応できるので、ぜひマスターしておきましょう。


【関連リンク】

【内部リンク】

RANKINGranking-icon

LATEST POSTS

もっとルートゼロを知りたいなら

DISCOVER MORE