私は開発環境をDocker化しており、Dockerイメージを再構築せずに変更をライブリロードする機能が欲しいと思っています。Redisは私のアプリの依存関係の1つであり、Redisコンテナをリンクできることが気に入っているので、Docker Composeを使用しています。
に 2 つのコンテナが定義されていますdocker-compose.yml
:
node:
build: ./node
links:
- redis
ports:
- "8080"
env_file:
- node-app.env
redis:
image: redis
ports:
- "6379"
アプリの dockerfileでボリュームを追加するところまで来ましたがnode
、コードに対するすべてのライブ編集がコンテナーに反映されるように、ボリューム内のホストのディレクトリをマウントするにはどうすればよいでしょうか?
現在の 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
ベストアンサー1
チェックアウト
ドキュメンテーション
見た目からすると、docker-compose.ymlで次の操作を実行できるはずです。
volumes:
- ./:/app
は./
ホスト ディレクトリで、/app
はコンテナーのターゲット ディレクトリです。
編集:
以前のドキュメント ソースはバージョン履歴につながるようになりました。使用している Compose のバージョンを選択して参照を探す必要があります。
補足: この編集時点では、構文はすべてのバージョンで同じままです。