※当サイトのリンクには広告が含まれています。

【json-server】Docker、Docker Composeを使って起動するための手順

json-server

json-serverはDockerを使って起動することもできます。
『開発環境を汚したくない』、『開発環境の共有を簡単にしたい』、という理由でDockerを使用したい方もいると思います。
ここではシンプルなDockerとDocker Composeの2つの方法で起動する手順を説明したいと思います。
基本的な手順は簡単なので、すぐに導入できると思います。

スポンサーリンク

Dockerでjson-serverを起動するための手順

まずはDockerを使ってjson-serverを起動するための手順について説明します。

Dockerの準備

開発環境にDockerがインストールされているかどうか確認する場合、下記コマンドを実行してみましょう。

docker -v

コマンドを実行した時、下記のようにDockerのバージョンが表示されていれば問題ありません。
バージョンが表示されなければDockerのインストールを先にやっておきましょう。

Docker version 20.10.22, build 3a2c30b

ディレクトリの構成

本章では、以下のディレクトリ構成にしています。

Docker
  ┣  Dockerfile
  ┗ data
      ┗  db.json

Dockerfileの作成

json-serverを起動させるためのDockerfileの内容は以下の通りです。

FROM node:latest
RUN npm install -g json-server
WORKDIR /data
CMD ["json-server", "--watch", "db.json", "--port", "3000", "--host", "0.0.0.0"]

イメージのビルドとコンテナの起動

Dockerfileの作成が完了しましたら、次にイメージのビルドです。
Dockerfileの置いてあるディレクトリ内で下記のコマンドを実行します。
※見えにくいかもしれませんが、json-serverの右にはスペースのあと’.’があることに注意

docker build -t json-server .

イメージのビルドができたら次はコンテナの起動です。
コンテナの起動は下記のコマンドを実行します。

docker run --name json-server -p 3000:3000 -v {db.jsonがあるディレクトリのパス}:/data json-server

起動確認

コンテナの起動まで完了したら、json-serverがちゃんと起動しているか確認してみましょう。
ブラウザを立ち上げて、http://localhost:3000/ にアクセスします。
下の画像のような画面が表示されていれば、json-serverが起動しています。

またResourcesの中身が作成したdb.jsonになっているかどうかの確認もしておきましょう。
db.jsonを作成していなかったり、パスが違ったりすると、自動的にデフォルトのdb.jsonが作成されます。

スポンサーリンク

Docker Composeを使ってjson-serverを起動するための手順

次に説明するのは、Docker Composeを使ってjson-serverを起動するための手順です。

Docker Composeの準備

Docker Composeを使用する場合は、Dockerとは別にDocker Composeをインストールしておく必要があります。
Docker desktopをインストールしている場合は、一緒にインストールされている可能性もあります。
下記コマンドでDocker Composeがインストールされているか確認してみましょう。

docker-compose -v

コマンドを実行した時、下記のようにDocker Composeのバージョンが表示されていれば問題ありません。
バージョンが表示されなければDocker Composeのインストールを先にやっておきましょう。

Docker Compose version v2.15.1

ディレクトリの構成

本章では、以下のディレクトリ構成にしています。

Docker
  ┣  Dockerfile
  ┣  docker-compose.yml
  ┗ data
      ┗  db.json

Dockerfileの作成

Dockerfileは上で説明したものと同じです。

FROM node:latest
RUN npm install -g json-server
WORKDIR /data
CMD ["json-server", "--watch", "db.json", "--port", "3000", "--host", "0.0.0.0"]

docker-compose.ymlの作成

Docker Composeを使って起動するためにdocker-compose.ymlを作成します。
docker-compose.ymlの内容は以下の通りです。

version: "3"

services:
  json-server:
    container_name: json-server
    build:
      context: .
      dockerfile: Dockerfile
    tty: true
    volumes:
      - ./data:/data
    ports:
      - "3000:3000"

コンテナの起動

下記のコマンドを実行すると、イメージのビルドとコンテナの起動を一緒にやってくれます。

docker-compose up -d

起動確認

コンテナの起動まで完了したら、json-serverがちゃんと起動しているか確認してみましょう。
ブラウザを立ち上げて、http://localhost:3000/ にアクセスします。

またResourcesの中身が作成したdb.jsonになっているかどうかの確認もしておきましょう。
db.jsonを作成していなかったり、パスが違ったりすると、自動的にデフォルトのdb.jsonが作成されます。

スポンサーリンク

まとめ

今回はDocker、Docker Composeの2つでjson-serverを起動するための手順について説明しました。
Dockerを導入してしまえば、json-serverが入ったコンテナの起動まではそんなに難しくないと思います。
json-serverをDockerで起動したいという方は、今回の内容を参考にしてもらえたらと思います。

json-server
スポンサーリンク
toniemonをフォローする

コメント