Hi. I’ve been using Docker with Docker Compose for production deployments. Currently the only way I’ve found to get around my current problem is to use a second docker-compose.yml file but there’s got to be a better way. So here goes. For development purposes my application uses a shared folder and loads it into the container with the Ruby On Rails Application code.
My docker compose and docker file are at https://gist.github.com/nsuchy/19a75202c070c181b3f1ed42c445f19c
In development I run
docker-compose run app --with-service-ports bash from there I have my dev environment and can run
rails server -e production|development -b '0.0.0.0' and have an easy way to test my changes as it’s mounted to the shared folder.
In production however I would want to copy those files from the shared folder into the container for easy deployments from GitLab Container Registry.
How would I go about making a different image for production (e.g. no shared folder) without temporarily replacing my docker-compose file or my docker file?
The current dev method is really nice but changes are needed to avoid having to clone the code from GitLab. I also want to avoid needing a temporary docker/docker-compose file.