2
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 3 years have passed since last update.

React入門 - Tips4 - dockerでReact環境を構築してみる

Last updated at Posted at 2021-07-21

Dockerとは

ここが分かりやすかったです。

Docker社が開発している、コンテナ型の仮想環境を作成、配布、実行するためのプラットフォームとのことです。(https://www.docker.com/what-docker)

私的には、
昔でも無いけど、よくVirtualBoxとかに最初の人が開発環境を作って、開発者みんなに配って。みたいな状況はよくありました。
VirtualBoxは容量もでかいし、メモリ食うし。そういうのがなくVirtualBoxみたいにGUIを起動せず、バックグランドで動く自由に組み合わせられる環境って感じでしょうか。

纏めます。

  • 軽量で高速に仮想環境を動作できる
  • Dockerインストール済PCなら、OSに依存せずDockerイメージで同一環境を構築可能
  • Dockerfileで動作させるコンテナをコードで管理できる
  • 作成アプリなどを、Dockerfileを渡すことで他のローカル環境でも実行することができる

Dockerさえいれておけば、いろんな言語や環境を自PCをあまり弄らず試せますね。

あと、思惑としては、教材用にREST APIの代わりをDockerで構築してReact画面からアクセスしようかなと
そんなことを考えています。

Dockerのインストール

Windowsを例にします。

ここでDocker Desktop for Windows ボタンをクリックしてください。

デフォルトでインストールし再起動します。

Docker正常起動の確認

PCを再起動してDockerが正常に起動することを確認します。

普通の環境構築の場合、ここはサクッといくとこなんでしょうけど、いきませんでした。
(ちなみに、私の環境はWindowsです。Macだとサクサクいくと聞いたことがある。)

以下のようなエラーが出ました。

  • Docker Desktopで「Hardware assisted virtualization and data execution protection must be enabled in the BIOS.
  • Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException
  • Failed to deploy docker-desktop to C:\Users\user\AppData\Local\Docker\wsl\distro: exit code: -1 ・・・・

解決するには

  • BIOSのVirtualization Technologyの設定をDisabledからEnabledに変更
  • Windowsの機能の有効化または無効化のHyper-Vのチェックをオン

など。。。。。いろいろやって正常起動できました。
いつか再検証行いたいと思います。

正常起動した場合は、このようになります。

image.png

タスクバーのとこに表示されるクジラさんからランダムな縦棒が出ている状態?

Docker - React動作環境作成(概要)

  1. Docker用ファイルの作成と記述
  2. Dockerイメージビルド
  3. create-react-appとReactのインストール
  4. コンテナの起動とReactの実行

Docker - React動作環境作成(Docker用ファイルの作成と記述)

作業ディレクトリ作成後、
Dockerで環境作成時、必ず以下2ファイルを作成します。

  • Dockerfile(基本的なコンテナ構成情報を記述)
  • docker-compose.yml(複数コンテナそれぞれの構成情報を記述)
Dockerfile_node
FROM node:14
WORKDIR /usr/src/app
docker-compose.yml
version: '3'
services:
   node:
     build:
       context: .
       dockerfile: Dockerfile_node
     volumes:
      - ./:/usr/src/app
     command: sh -c "cd react-sample && yarn start"
     ports:
      - "3000:3000"

中身は(今は)サラッと見ておきましょう。
Dockerに慣れてきたらまた再度見直してみたいと思います。

Docker - React動作環境作成(Dockerイメージビルド)

Git Bashなどで作業ディレクトリに移動し、Dockerイメージをビルドします。

docker-compose build

Docker - React動作環境作成(create-react-appとReactのインストール)

docker-compose run --rm node sh -c "npm install -g create-react-app && create-react-app react-sample

reactのインストールに数分かかります。たぶん。
私のサブマシンでは20分くらいかかったかな。。。

※途中、Dockerが作業ディレクトリを共有するか?的なメッセージが出ますので、Share itしておいてください。

Docker - React動作環境作成(コンテナの起動とReactの実行)

コンテナを起動します。

docker-compose up

ブラウザでlocalhost:3000にアクセスしたらLearn Reactが出ますよね?
出るはずだ!

試しに、ローカルにあるReactのソースApp.jsのLearn ReactLearn Docker Reactに変更してみてください。仮想環境に自動的に適用されて表示されることが分かるかと思います。

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