gpt4 book ai didi

docker - 在不同的客户端设备上使用相同的 Docker 机器

转载 作者:行者123 更新时间:2023-12-02 07:05:31 27 4
gpt4 key购买 nike

我们希望建立一个 Docker 开发节点,我们团队中的任何人都可以将东西部署到其中。

我使用 SSH 创建了一个新的 Docker 机器,如下所示:

docker-machine create \
--driver generic \
--generic-ip-address=xxx.xxx.xxx.xxx \
--generic-ssh-user=myuser \
mymachine

使用docker-machine env mymachine,我设置了我的环境。但是其他开发人员需要执行哪些步骤才能访问同一台机器?

不幸的是,没有像 docker-machine add ... ( https://github.com/docker/machine/issues/3212 ) 这样的东西

实现它的最简单且当前的 Docker'ic 方法是什么?

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://xxx.xxx.xxx.xxx:2376"
export DOCKER_CERT_PATH="/Users/user/.docker/machine/machines/mymachine"
export DOCKER_MACHINE_NAME="mymachine"

但是证书呢?复制相同的证书或为他生成新的证书?

最佳答案

根据我的经验,在本地运行时,开发 Docker 工作流程要愉快得多。您可以挂载文件系统以进行快速迭代。并且在构建图像时,复制上下文的时间大大减少。另外,在安装 docker 命令行时,您的团队也可以安装 docker 引擎。

但我知道你可能想证明 docker 的有效性,而不要求人们维护虚拟机或在本地安装 - 所以实际的答案:

What steps does another developer need to perform to have access to the same machine?

  1. 安装 Docker。
  2. 在环境中设置主机+证书。

来自 docker-machine env 的环境变量(以及那里引用的文件)就足够了。尽管如此,这仍然给您留下了复制证书的问题 - 正如您的 github link 中所讨论的那样。 .

Copy the same certs over or generate new ones?

(基于 tls configuration )我相信 docker 守护进程只能支持一组证书。

What's the easiest and the current Docker'ic way of achieving [a shared machine]?

该证书是为了您的安全而存在的,但它可以被禁用。如果您对本地网络安全性有信心,并使用该服务进行开发 - 您可以让主机公开 http 端口。

这可以在创建时通过 docker-machine 完成:(此问题的示例:boot2docker without tls verification)

docker-machine create -d virtualbox --engine-env DOCKER_TLS=no --engine-opt host=tcp://0.0.0.0:2375 node1

一旦服务在禁用 TLS 的 TCP 端口上公开,任何人都可以使用 -H 标志从 docker 命令行访问它。

docker -H xxx.xxx.xxx.xxx:2375 图像

设置 DOCKER_HOST 环境变量将节省一些输入。

关于docker - 在不同的客户端设备上使用相同的 Docker 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117879/

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