问题标签 [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.
docker - 您如何使用 docker-compose v3.1 管理秘密值?
docker-compose.yml 规范 3.1 版引入了对secrets的支持。
我试过这个:
$ docker-compose up
返回:
Unsupported config option for services.secret: 'password'
我们如何在实践中使用秘密功能?
docker - 为什么要使用 Docker Secrets?
在过去的几个月里,我通过将 docker 容器放在 ENV 变量中来管理它们的密码。
例子:
然后我碰到了 Docker Secrets。所以我的问题是:
- 我应该使用它们的原因是什么?
- 他们更安全吗?如何?
- 你能提供一个简单的例子来展示它们的功能吗?
docker-compose - Docker compose - secrets 不允许附加属性机密
docker-compose --version docker-compose 版本 1.11.1,构建 7c5d5e4
我已将秘密“my_secret_data”添加到我的 swarm 集群中:
我的撰写文件的开头如下所示:
'docker stack deploy' 不断给出错误:
机密 不允许附加财产机密
我已经关注了您如何使用 docker-compose v3.1 管理秘密值?据我所知,并安装了正确的版本,但不断收到上述错误。非常感谢任何帮助。
mysql - 为什么 MySQL Docker 容器抱怨使用 Docker 17.03 机密时必须定义 MYSQL_ROOT_PASSWORD env?
我正在尝试调整 Docker 的 Wordpress 秘密示例(下面的链接)以在我的 Docker Compose 设置(用于 Drupal)中工作。
https://docs.docker.com/engine/swarm/secrets/#/advanced-example-use-secrets-with-a-wordpress-service
但是,当启动 'mysql' 容器时,会输出以下错误:
“错误:数据库未初始化且未指定密码选项您需要指定 MYSQL_ROOT_PASSWORD、MYSQL_ALLOW_EMPTY_PASSWORD 和 MYSQL_RANDOM_ROOT_PASSWORD 之一”
我使用“docker secret create”命令创建了这些秘密:
运行上述后,秘密 ' mysql_root_pw ' 和 ' mysql_pw ' 现在存在于 swarm 环境中。通过执行验证:
以下是我的 docker-compose.yml文件中的相关部分:
当我执行“ docker stack deploy MYSTACK ”时,当“mysql”容器尝试启动时出现上述错误。
似乎“ MYSQL_PASSWORD_FILE ”和“ MYSQL_ROOT_PASSWORD_FILE ”不是MySQL识别的标准环境变量,它仍然期待“ MYSQL_ROOT_PASSWORD ”环境变量。
我正在使用 Docker 17.03。
有什么建议么?
谢谢。
docker - 如何正确存储和共享 docker 主机访问权限?
我按照 docker-machine 教程在云中设置了一个 docker swarm。我设置了一堆复制品,生活很好。现在我需要让我的队友访问这个 docker swarm。我怎么做?
我应该共享 docker 证书文件吗?每个团队成员可以拥有一组单独的证书文件吗?有什么方法可以设置 OAuth 或其他形式的 SSO?
docker-compose - docker compose 3.1(swarm)、secrets、ssl 和 nginx
我有一个在 docker 容器内运行的 nginx。在 server 块内的 nginx conf 文件中,我放入了 ssl 配置——端口、crt 和密钥。nginx 查找 crt 和 key 文件的最简单方法是我为这两个文件创建一个 docker secret,并在生成服务时将其挂载到 /run/secrets/。但是,我希望在 docker 映像中有 crt 和 key 文件,它们可以像 nginx 可以使用的开箱即用文件一样,如果客户创建一个秘密,并插入 crt 和 key 文件,我希望 nginx 使用那些.
通过 3.1 compose file docs for secret,我意识到,要么秘密必须预先存在,要么必须作为 compose 文件的一部分创建。现在的挑战是,如果它必须预先存在,那么我将强制客户创建一个秘密(这意味着不仅要创建一个秘密,而且还要准备好 crt 和密钥文件作为 create secret 命令的输入)。如果我在撰写文件中创建它,我仍然需要访问客户必须提供的 crt 和密钥文件。这意味着,在任何一种情况下,这个东西都不能开箱即用。
我该如何解决这个问题?
如果有人读了这么远仍然没有失去兴趣,即使上面得到了解决,我面临的另一个问题是在 nginx conf 中,我不能按优先级顺序指定 2 个证书以在相同的情况下选择它们服务器块。有人对此也有任何想法吗?
asp.net-core - Docker 秘密 ASP.NET Core
我想在我的 ASP.Net Core 项目中访问 Docker Secrets。
我将问题提炼为一个测试 API 项目。它所做的只是读取里面的目录/run/
我将撰写文件更改为3.1并添加了此处列出的秘密管道:如何使用 docker-compose v3.1 管理秘密值?
get 操作返回["/run/lock"]。我没有看到/run/secrets目录。我还检查了容器以验证它没有看到/run/secrets目录。
我能够从其他容器中看到秘密。有人知道我错过了什么吗?除了 3.1 组合之外,我还应该采取其他策略来配置 VS 2017 中的容器吗?
docker - 如何远程连接到 docker swarm?
是否可以从我的本地 mac 在托管在云中的 docker swarm 集群上执行命令?如果是,如何?
我想在本地的 docker swarm 上执行以下命令:
security - 为什么 Docker Secrets 比环境变量更安全?
我正在阅读Docker Secrets并继续阅读 Docker 的人们故意选择将秘密存储在文件中/run/secrets
而不是使用环境变量。但我无处可解释为什么。
所以我问:为什么使用 Docker Secrets 机制比将环境变量注入我的容器(通过-e
或 a --env-file
)更安全?
docker - Docker 机密和 Compose 兼容性问题
我正在尝试使用 Docker Compose 和 Secrets 部署 IMAP 服务器以进行证书管理。但只要这样做docker-compose up -d
,我就会得到:
警告:服务“imap”使用带有 uid、gid 或模式的秘密“密钥”。Compose 文件的此实现不支持这些字段
证书机密也会重复此警告。
我已经检查了安装的 compose 版本和所需版本之间的兼容性,一切似乎都很好。
我在 Docker 引擎版本17.06.0-ce和 Docker compose 版本1.14.0上运行。
这是我的撰写文件:
这实际上可行,但是容器内生成的文件没有它们应具有的属性(uid:0,gid:109,模式:0640),因此我必须在容器启动期间手动更改文件的所有权和模式.
有没有想过?