gpt4 book ai didi

docker - Docker守护程序和客户端/CLI在单独的盒子中的场景?

转载 作者:行者123 更新时间:2023-12-02 20:56:39 24 4
gpt4 key购买 nike

将Docker客户端或CLI和Docker守护程序保留在单独机器上的用例是什么?
你为什么要把两者分开?

最佳答案

您永远不要分开运行两者。唯一的异常(exception)是管理非常严格的docker-machine设置,您可以确信Docker已经设置了所有必需的安全控件。即使那样,我也只会在必要时将其用于本地VM(作为Docker Toolbox的一部分;以演示Swarm设置),并使用更多专用工具来配置云资源。
考虑以下Docker命令:

docker run --rm -v /:/host busybox vi /host/etc/shadow
可以运行此命令的任何人都可以将任何主机用户的密码更改为他们选择的任何内容,并轻松接管整个系统。可能有更直接的方法来根植主机。运行此命令的唯一要求是您有权访问Docker套接字。
这意味着: 任何可以访问Docker套接字的人都可以轻易地将主机根。如果可以通过网络访问,则可以访问系统上2375端口的任何人都可以接管它。
由于不需要 ssh到远程服务器来运行 docker命令,因此这是一个 Not Acceptable 安全位置。各种常见的系统自动化工具(Ansible,Chef,Salt Stack)都可以根据需要调用Docker,并且使用这些工具之一几乎肯定比尝试为Docker配置TLS更可取。
如果您遇到教程或其他设置的建议,建议您使用 -H选项启动Docker守护进程,以通过网络(甚至只是本地系统)发布Docker套接字,请注意,这是一个巨大的安全漏洞,等同于禁用您的root用户密码。
(我在上面暗示了 it's possible to use TLS encryption on the network socket。这是一个棘手的设置,它涉及到共享在主机上具有根等效功能的TLS客户端证书。我不建议尝试;将 ssh应用于目标系统或使用自动化工具来管理它。)

关于docker - Docker守护程序和客户端/CLI在单独的盒子中的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62622691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com