準備
Docker Desktopをインストールし起動しておきます。
プロジェクトルートに以下の内容で compose.yaml
を作成します。
以下のサンプルではnode_modulesはホスト側と同期していません。
必要に応じて type
を bind
に変更するか、設定を削除してください。
compose.yaml
version: '3.7'
services:
node:
image: node:20.9.0
container_name: node
tty: true
environment:
- NODE_ENV=development
ports:
- '3000:3000'
volumes:
- type: bind
source: .
target: /usr/src/app
- type: volume
source: node-modules
target: /usr/src/app/node_modules
working_dir: /usr/src/app
volumes:
node-modules:
external: true
以下のコマンドを実行してDocker volumeを作成します。
volumeの作成
docker volume create node-modules
コンテナを起動
コンテナ起動
docker compose up -d
コンテナ内でコマンドを実行する例
npmの場合
docker compose exec node npm i
docker compose exec node npm run dev
yarnの場合
docker compose exec node yarn
docker compose exec node yarn dev