-
-
Notifications
You must be signed in to change notification settings - Fork 301
Description
People occasionally (frequently?) ask about using Docker with Bullet Train, but we don't currently have any official stance or support.
I think that when people ask about Docker that they don't always mean the same thing. I think they sometimes mean that they want to use Docker for one (or more) of:
- Running just the BT starter repo in development mode
- locally
- in a cloud-based development environment
- Running the BT starter repo and supporting services in development mode via Docker compose
- locally
- in a cloud-based development environment
- CI/CD pipelines based on docker
- Deploying a BT app to production (and other environments)
- Heroku
- Render
- Fly
- Kubernetes
- Kamal
- Etc...
- Are there other ways that people want to use Docker?
I've used Docker enough to be able to use it when I have to, but it's not really a standard part of my go-to toolkit, so I don't have the best feel for how to navigate all of these various ways that people use Docker in these different situations.
So here are some possibly naive questions aimed at getting an idea of how we should approach Docker support:
- Are there ways that people want to use Docker not listed above?
- Can a single
Dockerfileeven theoretically cover all of the various use cases?- If so, would we have to do a bunch of conditionals that would end up making that
Dockerfilepretty gnarly and hard to read?
- If so, would we have to do a bunch of conditionals that would end up making that
- Are there reasons that it would be better to have multiple
Dockerfiles? LikeDockerfile.devandDockerfile.ciandDockerfile.production(orDockerfile.kamalor whatever). - Would using Docker compose to provide dependent services make a difference for what has to happen in the
Dockerfilefor the app? - Are there questions here that I don't even know to ask?
Some existing PRs that involve one or more Dockerfiles:
#1994 - Add Kamal to template repo
#1620 - Add Devcontainer Support
#464 - Dockerized development setup
#1720 - Update app setup to use docker for postgres/redis