在不同的客户端设备上使用相同的 Docker 机器
Using same Docker machine across different client devices
我们想建立一个 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)
什么是目前最简单的 Dockeric 实现方式?
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 而不要求人们维护 VM 或在本地安装 - 等等实际答案:
What steps does another developer need to perform to have access to the same machine?
- 安装docker.
- 在环境中设置主机+证书。
来自 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 完成:(这个问题的例子:)
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 images
设置 DOCKER_HOST 环境变量将节省一些输入。
我们想建立一个 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)
什么是目前最简单的 Dockeric 实现方式?
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 而不要求人们维护 VM 或在本地安装 - 等等实际答案:
What steps does another developer need to perform to have access to the same machine?
- 安装docker.
- 在环境中设置主机+证书。
来自 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 完成:(这个问题的例子:
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 images
设置 DOCKER_HOST 环境变量将节省一些输入。