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
Docker Developer Environments experience #201
Comments
|
Good afternoon everyone I was trying to figure out a way using docker containers as dev environments in a "IDE-independent" way. The kind of solution I found was to create a Dockerfile that installs everything a developer needs to start developing the project (ie: JDK15 + Tensorflow + etc...). Then manually run the container with a The Dockerfile could then be pushed to the project git repo and anyone that want to contribute to the project simply has to build/run the container and the dev env is configured. To compile the project we could run the container with the The issue I find with this approach is that it makes it difficult to debug. For instance, IntellIj has a built-in way to remotely debug a project in a docker container, but it's only in the paid version, making this approach not "IDE-independent" Maybe there needs to be an effort from other IDEs to support such workflows. VSCode already started, maybe others could follow their footsteps (I'm looking at you Jetbrains |
FYI JetBrains' PyCharm has Docker-powered remote interpreter support: https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html Has to be manually configured, but it's a start i guess. |
|
This proposal is not so new. The VSCode development leader already proposed an IDE independent Cloud development environment architecture. It was implemented by several companies and deployed to dozens of thousands of Web application developers in various areas: from the pharmaceutical to aerospace. The main difference is that the most universal GUI today is a Web Browser that doesn't need any local installation, i.e. doesn't create dependency. |
|
I am very much looking forward to JetBrains (PyCharm/GoLand/IntelliJ/WebStorm) integration for this. |
|
Hi Greate Feature, We will be more then happy to have this feature support in CLI and Jetbrain environments |
|
Throwing in my vote for IntelliJ support. |
|
While you wait for IntelliJ to get on the devcontainer bandwagon, for a more IDE-agnostic bootup of dev containers check out this neat project: https://github.com/nikaro/devc It's a CLI to start a devcontainer without an IDE and supports most of the |
|
I know the dev containers project has broad goals, but since this appears to solicit feedback:
Provided you've got and editor or IDE where you do most of your development, that can drive the main focus outside a container and interact via mapped ports on localhost with the "satellite" services and DBs, etc. In most places I've worked we do this:
It has the following drawbacks:
That's a summary of my experience, plus some warnings and advice re: growing pains FWIW. |
|
Sorry if my last comment was long and boring. That's just how I've coped over the years w/o more turn-key support for this in Desktop. The spec sounds like it'll help folks on many projects, and I guess what I'm also interested to hear is: how will the new features integrate with compose, if at all? |
This is almost exactly what I have also ended up doing. The result is that this works great for cmd-line, (but also needs a lot of knowledge transfer to any new joinee on the tooling + process involved). The drawback, as stated above, is that this completely forgets about the IDE-based experience. |
|
Tip: if they're using Jetbrains IDEs, you can create @vraravam: That way, some can point and click or "fork" the supported versions that you git-commit. |
|
As noted by others above, this is almost frictionless using Docker Compose with PyCharm atm. (shameless plug) I wrote a walkthrough for setting this up: |
|
I wouldn’t mind an option to have all my dev tools in a container that could join a dev environment when I need to work on it. |
|
In case anyone mentioning JetBrains IDEs in here hasn't seen it yet: https://www.jetbrains.com/remote-development/ |
|
It would be nice if we could leverage docker desktop features in headless environments (like CI runners). For instance, now that Docker Desktop for Linux is GA, it would be helpful to have an official cli tool to leveraging the Dev Environments Feature -- one that automatically loads the custom dev environment in This would allow us to use Dev Environments features in [linux] CI agents/runners. |

Tell us about your request
Provide a simple way for developers to share their work in progress code, connect code into a container to edit it/rebuild it and a way to do this within a compose project using one container as my development environment while still running the others.
Keep my development container backed up, up to date and provide simple tools to share these with my team so anyone can look at what I am working on in one click
Which service(s) is this request for?
Docker Desktop
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Making it simple to move between versions of the same code and to develop a containerized application on my local machine. Allow me easily share code in containers with my team mates.
Are you currently working around the issue?
Sharing branches which requires git magic on my machine to move between them
Additional context

The text was updated successfully, but these errors were encountered: