Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerizing this app #1856

Closed
jhsu802701 opened this issue Sep 19, 2020 · 2 comments
Closed

Dockerizing this app #1856

jhsu802701 opened this issue Sep 19, 2020 · 2 comments

Comments

@jhsu802701
Copy link

This app should be Dockerized. This would provide a common development environment for everyone and head off the infamous "but it works on my machine" problem.

@edwinthinks
Copy link
Collaborator

@jhsu802701 thank you for submitting this issue. I know you have expressed interest in helping the project and are suggesting us to invest in using docker within our application. I appreciate your enthuasism!

Docker is a really compelling software solution that I think is fantastic to address issues such as the one you mentioned. I've personally used it to great success on projects. However, one thing that I think is incredibly important before making this choice to clearly layout the tradeoffs and be specific about the problems we are avoiding or addressing.

This would provide a common development environment for everyone and head off the infamous "but it works on my machine" problem.

This is a interesting problem that does happen. And docker does address pretty well. Before investing in technology to address a problem which can be expensive, are there other ways to address specific issue? Is documentation sufficient? Are we using sensible application defaults (aka use UTC time and not system time)?

I am often hesistant to introduce new technology without clearly understanding the specific problems that we are avoiding and/or solving. Please reach out to me via slack if you want to discuss this more. Happy to have a discussion with you regarding this and anything tech related.

@armahillo
Copy link
Collaborator

@jhsu802701

This would provide a common development environment for everyone and head off the infamous "but it works on my machine" problem.

I think you might be inventing a problem to apply a solution, here. Unless you specifically encountered this during RfG or if there is a consistent problem!

This (the problem you cited) doesn't typically happen, and ironically, what DOES happen is that when we have added docker in the past ( #603 #438 #432 #374 #327 #319 #277 #503 ), we actually ran into more problems with "but it works on my machine" between the users that were trying to use the Docker instance. (eg. the app did not actually behave consistently across all developers' environments because Docker requires different bindings at the OS level and it doesn't always play nice with stuff. Check the issues / pulls I tagged above for more discussion on this). We've also found that the application performs a bit more slowly when it has to run through the Docker VM than if it's running natively.

We've done Docker in the past and it created more trouble than it's been worth. You are more than welcome to Dockerize your local environment and run it that way, if that's your preference! (The Docker-related files were put into the .gitignore specifically to allow for this convenience).

The bigger questions here are, I think:

  1. What problem are you specifically encountering where Docker is the correct solution? Bear in mind that adding Docker will add technical debt, so if we're going to do this, let's have a good reason for it and understand the value it adds
  2. This feels to me like a solution in search of a problem. Am I wrong on that take? Your desire to help is very appreciated, so please don't think I'm just trying to be a jerk :) (You aren't the first person to suggest Docker, hah). I would recommend checking the Issues tab, or asking in #diaper if you would like to find something to work on.

If you are specifically encountering friction or challenges getting the app spun up on your system, let us know! We're happy to help. I've set the app up on Mac and Linux environments; I think we have some Windows users too (in Slack) if you're on a Windows system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants