2/28
ディレクトリ構造
ReactDjango
|--Dockerfile
|--docker-compose.yaml
|--reactApp
Dockerfile
FROM node:16.15.0-alpine
WORKDIR /usr/src/app
docker-compose.yaml
version: '3.9'
services:
react-app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./reactApp:/usr/src/app # ローカルをコンテナ内にマウント
command: sh -c "cd react-sample && yarn start"
ports:
- "3000:3000"
stdin_open: true
- version docker-compseファイルのバージョン(3.9)
- service アプリケーションを動かすための各要素(1番外側)
- react-app(app) composeFile内のサービス名(命名は自由)
-
-
- build ビルドした時の処理を下に書く
- context ビルドコンテキスト
- dockerfile Dockerfileを指定する
- volumes マウント
- command
- ports
- stdin_open
- build ビルドした時の処理を下に書く
-
- ビルドコンテキスト
- dockerに「ここにあるファイルを全部読み込め」と指定するもの
- 「.」(ドット)でカレントディレクトリにある全部をdockerデーモンに送信される
- ビルドコンテキストに不要なファイルを置くとbuildに時間がかかってしまう。
- ドッカーファイルの指定
- Dockerfileはコンテナごとに作る
- それぞれディレクトリを一つ下げて個別に作り以下のように指定する
- 「dockerfile: ./React/Dockerfile」
- 「dockerfike: ./Django/Dockerfile」
-
docker-compose.ymlのbuild設定はとりあえずcontextもdockerfileも埋めとけって話 - Qiita
- マウント
- ローカルのディレクトリとリンクさせることでローカルの変更でコンテナに反映せさる
- コマンド内容(sh -c "cd react-sample && yarn start")について
- sh:シェルを起動
- -c (オプション):文字列をコマンドとして実行
- cd react-sample : react-sampleフォルダを作る。volumesで指定したディレクトリの下?
- && : その後に実行
- yarn start react のスタート
- sh:シェルを起動
- ポート
- React は基本3000番
- stdin_open
- コンテナの標準入力をオープンにしたままにする