Reactで必要最低限のwebAppを作ってコンテナ上で起動する

  • 2022.06.11
  • IT
Reactで必要最低限のwebAppを作ってコンテナ上で起動する

本当に最小レベルのReactアプリを作って、Nginxのコンテナで起動させます。

ここができていれば、自分の好きなReactのサイトを作ってコンテナ化できるかと思います。

作るもののイメージは下記です。

Reactの雛形を作る

下記を実行すると、アプリが起動します。

 

不要なものを削除して起動する

ここから、不要なものをどんどん削って、最低限のアプリケーションとしていきます。

ディレクトリの整理

一番最初に実行すると下記のようなディレクトリ構造になっていると思います。

-> deleteと書いたものは、いずれ必要になりますが、最低限のApplicationを作りにあたっては不要なので消去します。

ファイルの編集

まずは、index.jsを下記のようにします。

 

次に、App.jsを下記のようにします。

 

これで、だいぶシンプルになりました。

 

最低限のWebアプリを起動する

これで起動すればOKです。

Buildする

基本的に上記で起動を確認できるのですが、Buildして他のサーバーで起動したいなどあるかもしれませんのでその方法も記載します。

Package.jsonを編集する

homepageという部分を追加します。

これがないと、Build時にファイルのパスを見に行ってしまうので、ローカル環境でしか起動できなくなってしまいます。

詳細はこちらのページを。

 

ビルドする

下記のコマンドでビルドします。

起動を確認する

出来上がったファイル(build/index.html)をブラウザで開いてみます。

無事に開けたらReact部分は完成です。

 

Dockerfileとdocker-compose.yamlを作って起動させる

コンテナ化して、起動していきます。

Dockerfileの作成

test-app配下にDockerfileを作成して、下記のように記載します。

 

docker-compose.yamlの作成

test-appのと同じディレクトリにdocker-compose,yamlファイルを作成して、下記のように記載します。

 

build:の部分で、Dockerfileのディレクトリを指定しています。

volumes:の部分で、reactでBuildしたファイル一式をコピー元として指定して、usr/share/nginx/htmlへコピーします。

 

起動する

下記コマンドで起動します。

 

起動の確認

127.0.0.1:80へアクセスして、表示されていればOKです!

 

まとめ

文章で読むよりも、コード見た方が早い方はこちらのGitからCloneしてください〜〜