加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

传递给docker的环境变量运行

发布时间:2020-12-16 03:50:01 所属栏目:安全 来源:网络整理
导读:我有一个可以工作的码头图像.要让它完全正常工作,我必须运行 sudo docker run -d -p 80 --name myimage -e ADMIN_USER="user1" -e ADMIN_PASSWORD='password1' leonixyz/myimage:1.0 第一次执行图像时,我的代码会在里面配置应用程序. 这很方便,因为每次我需

我有一个可以工作的码头图像.要让它完全正常工作,我必须运行

sudo docker run -d -p 80 --name myimage -e ADMIN_USER="user1" -e ADMIN_PASSWORD='password1' leonixyz/myimage:1.0

第一次执行图像时,我的代码会在里面配置应用程序.

这很方便,因为每次我需要一个新的应用程序实例(每次都必须为不同的用户配置)时,我可以将不同的环境变量传递给docker run,我的代码将专门为新用户配置容器.

不幸的是,我看到这些变量无法从容器中删除.

如果我做:

sudo docker exec -it 

然后我可以看到变量ADMIN_USER和ADMIN_PASSWORD(显然)仍然存在.

我尝试在我的一次性配置代码的末尾取消设置ADMIN_PASSWORD,但它不起作用.

还从正在运行的容器中的bash shell运行未设置的ADMIN_PASSWORD将不起作用.

有没有办法从容器中删除环境变量,一旦启动它?

谢谢

编辑
正如所指出的那样,最好不要通过环境变量传递秘密,这里解释了一个很好的解决方法https://github.com/docker/docker/issues/13490#issuecomment-162125128

最佳答案
“取消设置”保存凭据的环境变量的唯一合理方法是不首先设置它们.一般而言,不要将环境变量用于凭证或“秘密”.

以下提供了一个很好的总结:https://github.com/docker/docker/issues/13490.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读