はじめに
dockerコンテナの開発環境で必須のvolumeについて解説・実演していきます。dockerを学びたての頃はコンテナ内でどうやって手元で書いてるコードを反映させるのか謎でした。volumeを使うことでコンテナと手元のコードを繋げ、コンテナ内で実行する。
目次
1. volumeについて
HOST側のソースコードのディレクトリをコンテナにcopyでコピーした場合、HOSTで変更したコードはコンテナに反映されません。そのためvolumeを使用し、hostのディレクトリとコンテナのディレクトリを繋ぎ、最新の状態を実行できることができます。
画像は次から引用
https://zenn.dev/fdnsy/articles/e2024d73ec2bda
2. volumeを開発環境で使ってみる
汎用性の高いdocker-compose.ymlでのvolumeのやり方を紹介
docker-compose.ymlの例
version: "3"
services:
api:
volumes:
- ./host_src:/container_src
1. 本番環境でvolumeを使わない件について
本番環境では、セキュリティや安全稼働の観点から、基本的に本番環境内のソースコード等の変更は行いません。本番環境ではCOPYを使います。
Dockerfileの例
COPY host_src/ /container_src