アプリケーションを内包したコンテナを作るときの、docker-compose・dockerfileの扱い方について質問です。
開発時は、docker-composeを以下のような内容で使用しています。
version: '3' services: app: build: . container_name: sample-app volumes: - ./sample-app:/sample-app expose: - "30001"
以上のように、開発時のdocker-compose.ymlではvolumesにてホストOS上のフォルダとコンテナ上のフォルダを
共有するようにしているため、DockerfileにはアプリケーションをCOPYする動作はありません。
開発時はCOPYされていなくてよいのですが、本番向けにアプリケーションを内包した
Dockerイメージを作りたい、といったことがあると思います。
この場合は、どういう方法を取るのが一般的なのでしょうか?
ここまでの調査では、以下のどちらかの方法しかないかと思っています。
・開発用、本番用のdocker-compose.ymlに分ける
・開発用、本番用のDockerfileに分ける
他により良い方法があればご教授いただきたいです。
以上、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/16 05:02