【簡単に始められる!】DockerでNextjsの開発環境を作ってみた【ソースコードもご提供!】

nextjs-dockerDocker

2023/1/15 加筆・修正しました

こんにちは、Coroccuです!

さて、ソフトウェアエンジニア歴が14年になる私ですが、
Reactに続いてNextjsの勉強を始めました。

なんとなくReactより良いよ!って話を聞いたからですが笑
まぁやるからにはDocker(コンテナ)信者になりつつある私としては

サクッと開発をスタートさせるべく!
DockerでNextjsの開発環境を作りました!
※Typescript

なので、その開発環境のご説明と
ソースコードをご提供しようかなと思います。

同じようにNextjsを
勉強される方のお役に立てれば幸いです!

事前準備

Dockerのインストール

Dockerについてはあまり詳しく書きませんが、
Dockerを使って、コンテナをベースに開発環境を整えておくと
他のパソコンでもその環境をサクッと復元できるので便利です。
※興味のある方はコンテナ技術ぜひ調べてみてください!

インストールはこちら→Dockerインストール
※Mac/Windows/Linuxに対応

最近、私は新しくMacを買って、
そこにはインストールしてなかったので
先ほどインストールしました!
数クリックで簡単にインストールできます。

Commercial use of Docker Desktop in larger enterprises (more than 250 employees OR more than $10 million USD in annual revenue) now requires a paid subscription.

上記のように、Dockerは最近有料化されましたが、
個人使用であればまだ無料で使うことができます。

VSCodeのインストール

開発は有名どころ?なVSCodeを使います。
プラグインも充実しており、安定ですね。無料ですし!

インストールはこちら→VSCodeインストール
インストーラーはダウンロードしたら
解凍して、Applicationsに移動させるくらい、簡単です!
※Macの場合

【簡単に始められる!】DockerでNextjsの開発環境を作ってみた【ソースコードもご提供!】

Nextjsの開発環境(Docker)の作り方

ソースコードは私のGitHubリポジトリに置きました。
以下、起動までの手順です。

1. docker-compose build
※コンテナイメージを作ります

2. docker-compose run --rm nextjs-app sh -c 'npx create-next-app . --typescript'
※nextjsのアプリを新しく作ります
 いくつか質問をされますがデフォルトのままでOKです!

3. docker-compose up
※コンテナ、アプリを起動します

たった、これだけでパソコン上にて
Nextjsの実行、ブラウザで確認まで、できちゃいます!
早速、ブラウザで、http://localhost:3000/ にアクセス!
→Nextjsの初期画面がブラウザに出るので確認しましょう!

nextjs-default-page
version: '3'
services:
  nextjs-app:
    build:
      context: .
      dockerfile: Dockerfile
    image: nextjs-app
    volumes:
      - ./src/app:/app
    command: sh -c "npm run dev"
    tty: true
    ports:
      - 3000:3000

Dockerfileでは、
node:19.4.0-alpineのDockerイメージを
ダウンロードしてきて、
/appを作業フォルダにしてるだけです。

docker-compose.ymlでは、
ローカルの/src/appフォルダ以下を
Dockerコンテナ上の/appにマウントしています。
※docker-compose run –rm nextjs-app sh -c ‘npx create-next-app app –typescript’
※でappフォルダが作られるので、それをマウントして
※ローカルの変更をコンテナ側にも伝えるようにしてます

あとは、docker-compose.ymlで
コンテナの起動時にnpm run devを実行し、
Nextjsのサーバを起動しています。

参考

Nextjsの基礎を学ぶのために
以下の書籍で勉強しています。

JavascriptやTypescriptの歴史なども書いてあって
なかなか興味深いです。それぞれの復習にもなります。

あとはNextjsの開発環境作成、サンプルアプリの開発も
実施できるようになっており、手を動かせるのもいい感じです!
やっぱり書いてみないと、身につきませんからね〜。

まとめ

ここまで読んで頂き、
ありがとうございました!

今回はDockerでNextjsを実行できる環境を作り、
Webブラウザで初期ページを表示する
ところまで、をご説明しました。

Nextjsの勉強を始められる方の参考、
第一歩になれば嬉しいです!

また、私も勉強が進んできたら、
他にもNextjs関連の記事を書くかもしれません。
その際は、ぜひご覧ください!

ではでは〜!

コメント

タイトルとURLをコピーしました