dockerfile - How to change VOLUME to COPY in Docker? -
my workflow consists of 3 stages:
- development
- staging
- production
the docker configuration on 3 platforms same, except 1 difference. on development mount project directory via volume instead of copying via copy.
now wonder what's better practice?
create dockerfile each stage so
project/ .docker development apache-php dockerfile vhosts.conf mariadb dockerfile staging apache-php dockerfile vhosts.conf mariadb dockerfile etc. or somehow conditionaly change volume copy, have no idea how should work.
use inheritance
create base image not cover copy/volume step , make dev-, test- , production dockerfiles base on base image.
example
base dockerfile
from ubuntu:14.04 run echo test >> /important.txt then build base image may referenced other dockerfiles: docker build -t baseimage .
dev dockerfile
from myrepo:baseimage volume somevolume build , run.
prod dockerfile
from myrepo:baseimage copy src dest build , run.
interesting
volumes override conatiner files if used that:
docke run -it -v ~/some.txt:/some/container/folder
Comments
Post a Comment