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

[Enhancement]: Support for custom .dockerignore files #1182

Open
pvervaet opened this issue May 21, 2024 · 7 comments
Open

[Enhancement]: Support for custom .dockerignore files #1182

pvervaet opened this issue May 21, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@pvervaet
Copy link

Problem

In my buildcontext there live several dockerfiles. Each one has it's own dockerignore file.
It seems like there is no way to specify a custom dockerignore file at the moment.
Would it be possible to support the standard approach for dockerignore files? https://docs.docker.com/build/building/context/#dockerignore-files

Solution

  • Either support the custom naming convention and automatically pick the right dockerignore file
  • Or have a way to specify the file .WithDockerignore("/somefolder/custom.Dockerfile.dockerignore")

Benefit

  • Support basic docker functionality
  • Many dockerfiles will be useable within one context. Now it's more or less impossible.

Alternatives

I see the 2 proposed solutions as only options

Would you like to help contributing this enhancement?

No

@pvervaet pvervaet added the enhancement New feature or request label May 21, 2024
@pvervaet
Copy link
Author

Nobody?

@HofmeisterAn
Copy link
Collaborator

I am not going to implement this soon, but if someone would like to implement this feature in the meantime, I would like to provide some guidance. The .dockerignore file name is passed to the Tar(CancellationToken) member here:

var dockerIgnoreFile = new DockerIgnoreFile(dockerfileDirectoryPath, ".dockerignore", dockerfileFilePath, _logger);

We need to pass the correct file name. We can (probably) simply check whether a specific ignore file exists for the Dockerfile or not.

@pvervaet
Copy link
Author

I have a branch ready with this change but I get an error when trying to push the branch:

Error encountered while pushing to the remote repository: Git failed with a fatal error.
Git failed with a fatal error.
unable to access 'https://github.com/testcontainers/testcontainers-dotnet.git/': The requested URL returned error: 403

I have to be made contributer or something @HofmeisterAn ?

@HofmeisterAn
Copy link
Collaborator

You cannot simply push to the repository, please see: Contributing to a project.

@ifan-t
Copy link

ifan-t commented Nov 16, 2024

Hi @pvervaet, I'm looking to implement this also - can you share what you have done so far?

@pvervaet
Copy link
Author

Hi @ifan-t, my priorities shifted and was not able to spend any time on this yet. I am however still interested in a solution as it will be needed in the future. Also it seems like a no-brainer to support this.

@ifan-t
Copy link

ifan-t commented Nov 17, 2024

@pvervaet understood. This is how I've done it, just need to add tests ifan-t@dc31914

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants