見出し画像

Docker 入門 (6) - バインドマウント

以下の記事を参考に書いてます。

Use bind mounts | Docker Documentation

前回

1. はじめに

バインドマウント」は、DBの永続化だけでなく、コンテナに追加データを提供する際によく利用されます。例えば、アプリ開発時にソースコードをコンテナにマウントすることで、コードの変更すぐに反映できるようになります。

2. バインドマウントの使用

バインドマウントを使って、コードの変更すぐに反映できるようにします。

(1) 「バインドマウント」を指定して、コンテナを開始。
バインドマウントは、「-v ホストディレクトリ:コンテナディレクトリ」で指定します。

$ docker run -dp 3000:3000 \
    -w /app 
    -v "$(pwd):/app" \
    node:12-alpine \
    sh -c "yarn install && yarn run dev"

引数は、次のとおりです。

-w /app : 作業ディレクトリの指定。
-v "$(pwd):/app" : ホストのカレントディレクトリとコンテナのappディレクトリをバインド。
node:12-alpine : ベースイメージ。
sh -c "yarn install && yarn run dev" : コマンド。依存関係をインストールし、「yarn run dev」を実行。

(2) 「docker logs -f <container-id>」でログ監視を開始。
「Ctrl+C」で終了します。

$ docker logs -f <container-id>

(3) 「src/static/js/app.js」の109行目を以下のように変更。

-                         {submitting ? 'Adding...' : 'Add Item'}
+                         {submitting ? 'Adding...' : 'Add'}

(4) ページを更新するだけで、変更がブラウザに反映されるのを確認。
(5) 必要な変更を自由に行い、完了したらコンテナを停止し、「docker build -t getting-started」でビルド。

次回


この記事が気に入ったらサポートをしてみませんか?