Training app 2023

docker-compose structure

How to develop

$ docker-compose up
  • backend: http://localhost:9000
  • frontend: http://localhost:3000

でWebサーバが起動します。

Initial setup

初期状態で、DBから値を読み出してHello worldを表示する構成となっていますが、初回起動時にはテーブルが存在しないためWebサーバへのアクセスがエラーになります。 起動後に以下のスクリプトを実行してテーブルの作成と初期データの投入を行ってください。

host$ docker-compose exec db sh -c "mysql < /sqlscripts/create.sql"
host$ docker-compose exec db sh -c "mysql training < /sqlscripts/insert.sql"

Reactを開発する人はブラウザの拡張機能をインストールしてください。(任意)

  • React Developer Tools
  • Redux DevTools

How to connect database

host$ docker-compose exec db mysql training

How to connect backend/frontend shell

host$ docker-compose exec backend bash
host$ docker-compose exec frontend bash

ライブラリをインストールする場合はdockerコンテナ側でコマンドを実行してください。

e.g.

host$ docker-compose exec backend bash
backend$ go get -u gorm.io/gorm
host$ docker-compose exec frontend bash
frontend$ npm install something

VS Codeなどで開発する場合、コンテナ側にインストールされたモジュールが参照できないために、エディター上でエラーが表示される場合があります。

その場合はお手数ですが、ホストOS側でもモジュールのインストールをお願いします。

host$ cd frontend
host$ npm install

(プロ向け)Dockerの中のNode使うのいやだと思った人向けの脱獄の手引き