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

support --env-file in docker-compose run command #8379

Open
briceburg opened this issue Jun 11, 2021 · 7 comments
Open

support --env-file in docker-compose run command #8379

briceburg opened this issue Jun 11, 2021 · 7 comments
Labels
area/env .env and env_file kind/feature

Comments

@briceburg
Copy link

briceburg commented Jun 11, 2021

NOTE: this is different than the .env file that is read by docker-compose commands and used for substitutions in the composition file... first mentioned here: #6170 (comment)


We generate an env file that we would like to include via the docker-compose run command. e.g.

echo "FOO=bar" > vars.env
docker-compose run --env-file=vars.env --rm test-service

docker run supports this flag and it would be great if we saw docker-compose run maintain parity.

Is there planned support for this feature -- or will it be implemented in composev2 / "docker compose" ?

our generated vars file is cumbersome (with multiline values) and relatively complicated to convert to various -e FOO=bar flags...

thanks!

@KoditkarVedant
Copy link
Contributor

@chris-crone @ndeloof Hi guys, I would like to work on this issue. I am not new to Go lang.

I have got a question. If I pass --env-file option to run command then should we append that to env-file provided as part of service config in docker-compose.yaml file or should we override them?

@KoditkarVedant
Copy link
Contributor

In meantime I've created a draft PR which assumes that if you pass --env-file from CLI it overrides the env-file specified in docker-compose.yaml file. I will update PR as per your suggestion if we should append them.

@KoditkarVedant
Copy link
Contributor

@chris-crone @ndeloof @ulyssessouza Friendly ping.

@briceburg
Copy link
Author

I would think would want to append the --env-file(s) passed via the cli to any included in the service's definition. appending would override any previously defined keys.

@reggermont
Copy link

I'm surprised this issue hasn't more discussions.

Just had this case in a project and that's a deal breaker, will have to generate a huge docker run command just because of that issue

I think there's a misconception with the original --env-file option which should never have the same name than docker's --env-file.

Now the topic is stuck because it may conflict with the original --env-file

What about a --env-from instead?

@ndeloof
Copy link
Contributor

ndeloof commented Jan 18, 2023

That's indeed sad this flag name was selected, but this is the legacy we have to deal with.
We could use --service-env-file or something comparable, even verbose, to workaround this ambiguity

@KoditkarVedant
Copy link
Contributor

@ndeloof I have updated the PR with changes suggested.

@jhrotko jhrotko added the area/env .env and env_file label Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/env .env and env_file kind/feature
Projects
None yet
Development

No branches or pull requests

5 participants