Dockerでは、ボリュームを使用してコンテナ内のファイルシステムを管理します。ボリュームは、コンテナ内のファイルの永続性とデータの共有を実現するために使用されます。ローカルフォルダをバインドする場合、ボリュームを作成し、それをコンテナにマウントする必要があります。
以下に、いくつかの方法とそれぞれのコード例を示します。
-
Dockerコマンドを使用する方法:
$ docker run -v /ローカルフォルダの絶対パス:/コンテナ内のマウントポイント -d イメージ名
例:
$ docker run -v /Users/ユーザ名/myapp:/app -d myapp-image
-
Docker Composeを使用する方法: Docker Composeを使用すると、複数のコンテナを定義し、それらを簡単に管理できます。以下は、docker-compose.ymlファイルの例です。
version: '3'
services:
myapp:
image: myapp-image
volumes:
- /ローカルフォルダの絶対パス:/コンテナ内のマウントポイント
例:
version: '3'
services:
myapp:
image: myapp-image
volumes:
- /Users/ユーザ名/myapp:/app
- Dockerfileを使用する方法: Dockerfileを使用してイメージをビルドする際に、VOLUME命令を使用してボリュームを定義することもできます。以下はDockerfileの例です。
FROM myapp-base-image
VOLUME /コンテナ内のマウントポイント
例:
FROM myapp-base-image
VOLUME /app
これらの方法を使用することで、ローカルフォルダをDockerコンテナにバインドすることができます。バインドされたフォルダ内の変更は即座にコンテナに反映され、コンテナ内での変更もホストマシンのフォルダに反映されます。