leo*_*xyz 5 environment-variables docker
我有一个可以工作的码头图像.要让它完全正常工作,我必须运行
sudo docker run -d -p 80 --name myimage -e ADMIN_USER="user1" -e ADMIN_PASSWORD='password1' leonixyz/myimage:1.0
Run Code Online (Sandbox Code Playgroud)
第一次执行图像时,我的代码会在里面配置应用程序.
这很方便,因为每次我需要一个新的应用程序实例时,必须每次为不同的用户配置,我可以传递不同的环境变量docker run,我的代码将专门为新用户配置容器.
不幸的是,我看到这些变量无法从容器中删除.
如果我做:
sudo docker exec -it <container_id> bash
Run Code Online (Sandbox Code Playgroud)
然后我可以看到变量ADMIN_USER并且ADMIN_PASSWORD(显然)仍然存在.
我试着unset ADMIN_PASSWORD在我的一次性配置代码的末尾,但它不起作用.
还运行unset ADMIN_PASSWORD在运行容器bash shell中是行不通的.
有没有办法从容器中删除环境变量,一旦启动它?
谢谢
编辑 指出最好不要通过环境变量传递秘密,这里解释了一个很好的解决方法https://github.com/docker/docker/issues/13490#issuecomment-162125128
“取消设置”持有凭据的环境变量的唯一合理方法是首先不设置它们。一般来说,不要使用环境变量作为凭据或“秘密”。
以下提供了一个很好的总结: https: //github.com/docker/docker/issues/13490。
| 归档时间: |
|
| 查看次数: |
8680 次 |
| 最近记录: |