问题标签 [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.

0 投票
1 回答
754 浏览

docker - 如何在由 docker compose 创建的容器内使用 docker secrets created 购买命令行,而无需在 docker compose 内声明秘密

如果我在 docker compose 上声明 docker 机密,我将无法在远程 docker 机器机密上的 prd 中部署,而无需在远程机器上上传物理机密。我认为是不安全的。

那么,如果我在远程 docker 机器上手动创建秘密,我如何使用由 docker compose 部署的容器?

0 投票
2 回答
2410 浏览

docker - 非 root 用户的 docker 机密

为了更好的安全性,我有一个使用非 root 用户运行的 docker 容器,但它似乎无法访问我与之共享的秘密:

我在我的 docker compose 中尝试了不同的解决方案: 1. 将 uid 和 gid 设置为 1000(如果用户在容器内,则为 uid/gid) 2. 将模式设置为 0444 甚至 0777

但是这些都不起作用,只有使用 root 才能让我使用这些秘密。

任何想法?

额外的问题:在 kubernetes 中会出现同样的问题吗?

码头工人文件:

附录:存储库(在 dockerfile 中有用户 ROOT):

0 投票
1 回答
13525 浏览

docker - docker-compose 没有 swarm 的秘密

我不想将 docker secrets 与 swarm 一起使用,我发现可以这样做。基本上 docker 只是在 docker 容器内挂载 /run/secrets ,但是当我进入新建的 docker 容器并echo $POSTGRES_PASSWORD_FILE获得我的秘密文件的路径时。

这是我的docker-compose.yml文件

我的密码设置是否正确/我的文件有问题吗?

0 投票
0 回答
2156 浏览

docker-compose - Docker-compose,从正在运行的容器中撤销一个秘密

对于 docker swarm 模式,我发现可以使用命令中的--secret-rm选项轻松完成。docker service update但是 docker-compose 是什么?

我试图通过docker exec命令在正在运行的容器中卸载 /run/secrets 并失败。

0 投票
2 回答
1570 浏览

docker - 容器只读模式选项

我正在我们的应用程序中实现 docker 最佳实践,所以我read_only: true在文件中遇到了选项docker-compose.yml。在这种方法中,我收到类似 - 的错误mkdir: cannot create directory '/var/run/apache2': Read-only file systemread_only: true是否可以在选项下授予某些文件夹的读写权限。

0 投票
1 回答
111 浏览

linux - 从私有 docker 注册表下载后,可以重新分发 docker 映像吗?

我有一个 docker 映像,我必须使用私有注册表分发映像,但是在拉入本地计算机后是否可以重新分发映像?

如果是,我们有什么方法可以提供隔离以使客户端无法重新分配它?

0 投票
1 回答
785 浏览

docker - 使用 Docker 密钥访问 Jenkinsfile 中的数据库

在我的Jenkinsfile我正在运行一个 Maven 命令来启动数据库迁移。该数据库在 Docker 容器中运行。

在部署数据库容器时,我们使用来自 swarm 管理器节点的 Docker 机密作为密码。

有什么方法可以在 Jenkins 管道脚本中使用该 Docker 机密,而不是将其以纯文本形式放入?我可以使用 Jenkins 凭据,但是我需要在两个不同的地方维护相同的秘密。

0 投票
1 回答
105 浏览

docker - 清理 Docker Swarm 中未引用的配置和机密

在我的 Docker Swarm 集群上创建和删除堆栈和服务一段时间后,返回的列表docker config ls非常docker secret ls广泛。但是,许多列出的配置和机密都是以前部署的过时遗留物,并且不再被任何正在运行的服务引用。

是否有任何与docker system prune等效的快速方法,它可以从未引用的项目中清理配置和秘密存储?

0 投票
1 回答
322 浏览

docker - 在 docker 机器上使用 docker 机密

我在使用 docker-machine 创建的远程主机上尝试使用 docker 机密时遇到问题。

下面是我的 docker-compose.yml:

这在本地运行良好,我可以运行 docker-compose up 并访问 mysql 容器。

根密码已经很好地应用了。

我现在正在尝试在使用 docker-machine 创建的远程主机上运行容器。

我首先使用 docker-machine create 创建了机器(在这种情况下,在 exoscale 云上)

然后我尝试使用以下方法部署主机:

但是,当我尝试在远程主机上运行时,出现以下错误:

所以它仍在尝试用我本地机器上本地文件的路径加载秘密。我怎样才能在远程主机上使用这个秘密?

在此先感谢您的帮助

0 投票
1 回答
114 浏览

docker - 如何使用 Docker 机密为 Docker 容器的多个实例创建证书?

我有一个试图在 Docker 容器中运行的 Java 应用程序。该应用程序使用密钥库和信任库与数据库(也将是一个容器)和外部身份验证服务机制(如 LDAP)进行安全通信。
计划是使用 Kubernetes/Swarm/Openshift 来运行和管理容器。我计划运行应用程序的多个实例,并且还想利用 Kubernetes/Docker 如何管理容器之间的通信(即,我希望不必在我运行的每个容器实例上设置主机名/IP)。我已经看过那里的文档,看起来我可以使用证书并根据证书创建一个 Docker 机密。我还看到了如何将秘密放置在容器中的正确位置。

问题是——我在用于创建 Docker 机密的证书中放入了什么?CN 用什么?IP?

当我们生成证书时,我们通常将 FQDN 作为 CN 并将主机名和 IP 放在 SAN 下。我是 Docker 和秘密的新手,不知道这些东西在幕后是如何工作的,但我想 Docker 动态生成的 IP 将与我的证书中的 IP 不匹配,除非我指定容器的主机名和 IP 去成为,我试图避免。有没有办法创建一个适用于多个应用程序实例的证书?或者我是否需要为每个实例创建一个证书,并为每个容器实例定义主机名和 IP 地址,以使证书/机密工作。提前致谢