[解決済み】docker composeでホストディレクトリをボリュームとしてマウントする方法
2022-04-06 03:26:45
質問
開発環境をDocker化していますが、Dockerイメージを再構築することなく変更をライブリロードする機能が欲しいのです。アプリの依存関係にredisがあるため、docker composeを使用しており、redisコンテナをリンクできるようにしたいです。
の中に2つのコンテナを定義しています。
docker-compose.yml
:
node:
build: ./node
links:
- redis
ports:
- "8080"
env_file:
- node-app.env
redis:
image: redis
ports:
- "6379"
に辿り着きました。
node
アプリの dockerfile にボリュームを追加しますが、ホストディレクトリをボリュームにマウントして、コードへのライブ編集をすべてコンテナに反映させるにはどうしたらよいでしょうか。
これが現在の私のDockerfileです。
# Set the base image to Ubuntu
FROM node:boron
# File Author / Maintainer
MAINTAINER Amin Shah Gilani <[email protected]>
# Install nodemon
RUN npm install -g nodemon
# Add a /app volume
VOLUME ["/app"]
# TODO: link the current . to /app
# Define working directory
WORKDIR /app
# Run npm install
RUN npm install
# Expose port
EXPOSE 8080
# Run app using nodemon
CMD ["nodemon", "/app/app.js"]
私のプロジェクトはこのような感じです。
/
- docker-compose.yml
- node-app.env
- node/
- app.js
- Dockerfile.js
解決方法は?
チェックアウト ドキュメント
見たところ、docker-compose.ymlで以下のようにすることができそうです。
volumes:
- ./:/app
ここで
./
はホストディレクトリ、そして
/app
はコンテナのターゲットディレクトリです。
EDIT
以前のドキュメントのソースはバージョン履歴につながるようになりましたので、使用しているcomposeのバージョンを選択し、リファレンスを探す必要があります。
注:この編集の時点では、構文はすべてのバージョンで同じです。
関連
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Docker-Composeを使用して、複数のコマンドを実行する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerコンテナ内のRootパスワードについて
-
[解決済み】終了したDockerコンテナを継続する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] docker-machine: コマンドが見つかりません。
-
[解決済み] dockerコンテナの停止と削除のための単一コマンド
-
[解決済み] DockerコンテナでPipeworkを使用する際に、RTNETLINK Operation Not Permittedが発生するのはなぜですか?
-
[解決済み】"docker run -d "の後、Dockerコンテナが自動的に停止する。
-
[解決済み】終了したDockerコンテナを継続する方法
-
[解決済み】Dockerコンテナでボリュームをリストアップする方法は?
-
[解決済み】base-imagesが更新された場合、Dockerコンテナを自動的に更新する方法
-
[解決済み】Dockerfileを1つのコマンドでビルドして実行する。
-
[解決済み】Dockerのコンテナイメージが大きいのはなぜですか?
-
[解決済み】Dockerにボリュームを追加しても、サブフォルダを除外してしまう。