问题标签 [docker-secrets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 为什么 Docker Secrets 被认为是安全的?
我阅读了有关docker swarm 的秘密并进行了一些测试。据我了解,这些秘密可以替换 docker-compose.yml 文件中提供的敏感环境变量(例如数据库密码)。结果,当我检查 docker-compose 文件或正在运行的容器时,我看不到密码。这很好 - 但它真正有什么帮助?
如果攻击者在我的 docker 主机上,他可以轻松查看 /run/secrets
并且还可以查看里面的数据:
同一个攻击者通常可以在正在运行的容器上打开一个 bash 并查看它是如何工作的......
此外,如果攻击者在容器本身上,他可以环顾四周。
所以我不明白为什么docker secrets更安全,就好像我直接将它们写入docker-compose.yml文件一样?
docker - 找不到 docker secrets 文件夹('/run/secrets')
我玩过https://labs.play-with-docker.com/。
我选择了以下模板3 Managers and 2 Workers
:
我去manager1
创造了一个秘密:
*我只能从经理领导那里得到容器的名称。
mysql - Docker、AspNetCore、数据库连接字符串最佳实践
过去一周左右我一直在尝试学习 docker 以及它可以做的所有事情,但是我正在努力解决的一件事是如何管理机密的最佳实践,尤其是在数据库连接字符串和这些应该如何存储。
我有一个计划,我想要一个 docker 映像,其中将包含一个 ASP.NET Core 网站、MySQL 数据库和一个 PHPMyAdmin 前端,并将其部署到我在 DigitalOcean 拥有的一个 droplet 上。
我一直在玩,我有一个 docker-compose.yml 文件,其中 MySQL DB 和 PhpMyAdmin 正确链接在一起
这为我正确地创建了一个 MySQL 数据库,我可以使用 root / 0001 作为用户名/密码组合通过正在运行的 PHPMyAdmin 前端连接到它。
我知道我现在需要将我的 AspNetCore Web 应用程序添加到此,但我仍然对获得数据库密码的最佳方式感到困惑。
我看过 docker swarm/secrets,但我仍然不完全理解它是如何工作的,特别是如果我想将我的 docker-compose 文件检查到 GIT/SCM 中。我读过的其他内容建议使用环境变量,但我似乎仍然不明白这与仅在我的 appsettings.json 文件中检查连接字符串有何不同,或者就此而言,这将如何工作完整的 CI/CD 构建管道。
这个问题帮助我了解了这一点,但他们的 docker-compose 文件中仍然有他们的数据库密码。
可能是我想多想了
任何帮助、指导或建议将不胜感激。
docker - docker-compose.yml 中的 Docker 机密
我在 docker-compose 中遇到了使用 docker secrets 的问题。这是我的 yml:
所以,如果我理解正确,我的项目中的秘密文件夹中应该有 aws_bucket_name.txt,这是事实。
我正在尝试通过 aws_bucket_name 从此文件加载数据。
当我构建 docker-compose 时,出现此错误:
错误:对于 iothubtelemetryadapter_my-service-name_1 无法为服务 my-service-name 创建容器:“bind”类型的装载配置无效:装载路径无效:'C:/Users/anton.smatanik/Documents/project_name/secrets/aws_bucket_name。 txt' 挂载路径必须是绝对路径
这是我的项目结构:
docker - 将 docker swarm 秘密传递给同级容器
我有一个 docker swarm,我从这个 compose 文件开始:
现在,在运行的容器中my_service
,我启动了一个新的同级容器(注意我已经安装了 docker 套接字),我希望可以访问my-secret
它,尽管它不是 swarm 的一部分。最好的方法是什么?
简单地将秘密挂载为卷 ( docker run -v /run/secrets:/run/secrets sibling_image
) 是行不通的,兄弟容器可以看到my-secret
,但它是空的。
传递环境变量是可行的,但如果我有很多秘密,那就有点太麻烦了:docker run -it --env MY_SECRET=$(cat /run/secrets/my-secret) sibling_image
docker - 无人机 CI 机密未填充
我正在尝试将 docker 映像推送到 Drone 0.8.5 中的私有注册表中,当我将用户名和密码硬编码到管道中时它可以工作,但是我尝试在注册表选项卡中添加注册表详细信息并作为机密。
注册表管道
失败no basic auth credentials
最后我尝试了变量替换。(带有 $REGISTRY_USERNAME 和 $$REGISTRY_USERNAME 变量。都导致错误msg="Error authenticating: exit status 1"
另一次尝试
这真的很令人沮丧。在此之后,我还需要通过正确的方法为 Rancher accesskey secretkey 添加秘密。
我已经阅读了其他主题和无人机文档,但仍然很困惑。
提前致谢。
docker - 码头工人秘密和刷新令牌
我正在寻找一种使用 docker 机密的方法,并且在所有情况下,我都不需要更新机密的存储值,这将是一个完美的情况,但我的应用程序有多个具有 3 条腿 OAuth 授权的服务。成功获取所有令牌后,脚本将收集所有令牌,然后从中创建秘密并使用这些秘密在容器中执行我的 docker.compose.yml 文件的配置。问题是何时必须刷新令牌并再次将其存储为机密。Docker 机密不允许更新机密。可能的解决方法或更好的方法是什么?
docker - 作为环境变量传递的 Docker 机密
我将 docker 置于 swarm 模式并执行了以下操作
我无法通过 docker 服务传递通过环境变量创建的密码。
请帮我解决我哪里出错了。
docker - 为什么我需要处于 Swarm 模式才能使用 Docker 机密?
我正在玩一个单一的容器泊坞窗图像。我想在不使用 compose 的情况下将我的 db 密码存储为秘密(现在有问题和 Gradle)。我以为即使没有撰写,我仍然可以使用秘密,但是当我尝试时,我得到...
来自守护进程的错误响应:此节点不是集群管理器。使用“docker swarm init”或“docker swarm join”将此节点连接到swarm,然后重试。
为什么我需要使用 swarm 模式才能使用秘密?为什么我不能在没有集群的情况下使用它们?
spring - 如何使用 docker 密码设置“spring.datasource.password”?
目前,我在 datasource.properties 文件中有以下内容以本地连接到数据源...
这对本地很有用,但现在我正在尝试创建一个 docker 映像。为了存储数据,我宁愿使用秘密而不是环境变量(或者甚至是秘密,然后是未找到的环境变量)。我目前在我的本地 docker 映像中设置了秘密,但我不知道如何使用代码而不是属性来设置 spring.datasource.password。
如何使用 docker 密码设置“spring.datasource.password”?