1
0
mirror of /repos/baseimage-docker.git synced 2025-12-30 08:01:31 +01:00

Early in the my_init initialization process, do not overwrite already-defined environment variables by the ones in /etc/container_environment.

Closes GH-52.
This commit is contained in:
Hongli Lai (Phusion) 2014-05-12 16:13:39 +02:00
parent 29d315891f
commit af11b5e7b4
2 changed files with 5 additions and 3 deletions

View File

@ -10,6 +10,7 @@
If you intended on adding a newline to the value, ensure you have *two* trailing newlines:
echo -e "my_value\n" > /etc/container_environment/FOO
* It was not possible to use `docker run -e` to override environment variables defined in /etc/container_environment. This has been fixed (GH-52). Thanks to Stuart Campbell for reporting this bug.
## 0.9.9 (release date: 2014-03-25)

View File

@ -54,7 +54,7 @@ def is_exe(path):
except OSError:
return False
def import_envvars(clear_existing_environment = True):
def import_envvars(clear_existing_environment = True, override_existing_environment = True):
new_env = {}
for envfile in listdir("/etc/container_environment"):
name = os.path.basename(envfile)
@ -67,6 +67,7 @@ def import_envvars(clear_existing_environment = True):
if clear_existing_environment:
os.environ.clear()
for name, value in new_env.items():
if override_existing_environment or not name in os.environ:
os.environ[name] = value
def export_envvars(to_dir = True):
@ -227,7 +228,7 @@ def install_insecure_key():
run_command_killable("/usr/sbin/enable_insecure_key")
def main(args):
import_envvars(False)
import_envvars(False, False)
export_envvars()
if args.enable_insecure_key: