Open tommysullivan opened 1 year ago
watch does not support include/excludes but offers ignores
.git
(and a few others) is intentionally excluded as any fiel change on your local working copy would then result in unnecessary file sync with container. watch is not an alternative implementation of dev containers, it assumes developer still work local, and just want a faster inner loop with application running latest codebase.
hey. two things
basically, I do have a fast inner dev loop, which exists in the container, and i could use the new native developer
stanza's sync
capability to make that same inner dev loop work with less volume mounting / ugly dockerfile stuff if you allowed a user to sync whatever they wish, including .git. there is also no risk, if a developer explicitly adds it and does a bunch of heavy git operations, thats on them.
vscode folks will def have a look at how their devcontainers could leverage docker-compose watch just as they already leverage docker-compose up with volume mounts for supporting in-container fast inner dev loop. but their tech relies heavily on ability to have the .git folder appear in the container fs whether mounted or synced; so without this change they won't be able to do that.
im sure eventually, more people / they would ask for this. cheers
the docs are misleading because they refer to a non existing capability
Can you please be more explicit on which capability the docs refer to?
I'm also confused about this.
watch does not support include/excludes
This is misleading. I've just seen the docs where it says to use include/exclude to override files. Still, I couldn't find any info on how to use these directives.
but offers ignores
And now this looks different from the docs. Docs don't have anything about ignore
but your link has, how convenient. I hope that it at least works with !
symbol to include certain files and directories.
UPDATE: it doesn't. How are we supposed to include back files that were excluded by dockerignore? The issue is, I have certain files and directories excluded in .dockerignore
and it's essentially build for production. With watch
I want to add these files and folders back since they're needed for development and testing, which is not possible with the ignore
you mentioned.
Why was this closed? I have this issue with .env
file that I want to trigger sync+restart when changed. The docs linked were not updated and I just spent some time trying to fix tar issue (which is not included in alpine images, so I think this prerequisite should be highlighted more), then something that should have been properly validated only to find out that the official docs describe functionality that is not planned. I don't think it should have been closed before the documentation is updated.
fix tar issue (which is not included in alpine images, so I think this prerequisite should be highlighted more)
This is not the case anymore with latest release
Thanks for the doc update! Do you maintain that any way of overriding .dockerignore is not planned? I don't want to have my .env file in the image but I'd like to have it in my local dev container and have it trigger the watcher. I think this is a very common use case and I'm afraid not supporting it promotes keeping secrets in the image which is not the best security practice.
I re-opened this issue as we should support !
symbol (or any other way) so you can declare "include" rules to watch files ignored by .dockerignore
, to cover such a scenario
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
ping, this would still be useful for all online docker ides! please
This issue has been automatically marked as not stale anymore due to the recent activity.
Description
The default is to ignore .git directory. I am used to VS Code devcontainers which mount in the volume and thus contain .git and thus i can work completely in my container including issuing git cli commands as well as using vs code plugins that rely on git.
Docs should either not say include/exclude or the feature should be implemented; i just converted everything over to not use dev volume mounts and after all that work i can't use it.
Excited to be able to use it though some day, will greatly simplify all the stuff we do to develop in containers
Steps To Reproduce
Compose Version
Docker Environment
Anything else?
No response