它';是否可以使用Docker机器管理MacOS Docker桌面?
我在我的Mac上安装了Docker Desktop(不是Docker Toolkit),并根据 我正在尝试添加我的本地主机Docker引擎,就像Docker机器下的Docker节点一样,但没有成功 我采取的步骤是:它';是否可以使用Docker机器管理MacOS Docker桌面?,docker,docker-machine,docker-engine,Docker,Docker Machine,Docker Engine,我在我的Mac上安装了Docker Desktop(不是Docker Toolkit),并根据 我正在尝试添加我的本地主机Docker引擎,就像Docker机器下的Docker节点一样,但没有成功 我采取的步骤是: 在localhost中启用sshd(ssh localhostworks) 将localhost Docker添加到Docker计算机: 对不起,我的英语不是土生土长的。docker机器很危险。我不建议将其用于管理生产服务器,因为它需要无密码sudo,并且很容易损坏Docker安
ssh localhost
works)
对不起,我的英语不是土生土长的。
docker机器
很危险。我不建议将其用于管理生产服务器,因为它需要无密码sudo,并且很容易损坏Docker安装。我设法从服务器上完全删除了所有容器和图像,但没有意识到我运行的命令不仅仅是连接到服务器,而是从头开始初始化它
如果要从单个CLI控制多个Docker守护进程,请尝试
编辑:
的目的是使用Docker守护程序配置和管理计算机
它既可以用于本地VM,也可以用于各种云提供商。只需一个命令,它就可以创建和启动VM,然后在新VM上安装和配置Docker(包括生成TLS证书)
它可以创建一个完整的Docker Swarm集群
它还可以在物理机器上安装Docker,只要SSH访问无密码sudo(这就是您尝试使用的通用驱动程序的用途)
机器完全配置Docker后,还可以设置环境变量,配置Docker CLI以向该机器上安装的远程Docker守护程序发送命令-有关详细信息,请参阅
最后,还可以添加不使用任何驱动程序手动配置Docker的机器-如前所述。这样做的唯一目的是在各种远程机器之间切换时允许统一的工作流
然而,正如我之前所说的那样,docker机器是危险的-它还可以删除现有的VM,如果物理机器重新配置它们,从而删除所有现有的映像、容器等。一个简单的错误可以将服务器清除干净。更不用说它需要基于密钥的SSH和无密码的sudo,因此,如果未经授权的人获得了生产服务器的SSH密钥,那么就是这样——他们拥有对所有内容的完全根访问权限
可以安全地将docker machine
与先前存在的docker安装一起使用-您需要在不使用任何驱动程序的情况下添加它们。但是,在这个场景中,大多数docker machine
命令都无法工作,因此唯一的好处是可以轻松为我前面提到的docker CLI生成这些环境变量
是一种告诉Docker CLI应该与哪个Docker守护进程通信的新方法。它们本质上是用来替换docker machine生成的所有环境变量
由于Docker CLI仅与Docker daemon通信,因此不存在意外删除VM或重新配置已配置的物理计算机的风险。由于它们是Docker CLI的一部分,因此无需安装其他软件
另一方面,Docker Context
不能用于创建或配置新机器-需要手动创建或使用其他机制或工具(如Vagrant或云提供商提供的某种模板)
因此,如果您真的需要一个工具,它可以让您轻松地创建、配置和删除支持docker的机器,那么请使用
docker machine
。但是,如果您只想在一个地方列出所有启用Docker的机器,并方便地设置本地Docker CLI应该与之对话的机器,Docker上下文是一个更安全的选择。您想做什么来满足需要?您通常可以在没有Docker machine
的情况下很好地使用Docker。它用于测试目的,并了解Docker machine
的工作原理。我在production env中有一些远程Docker引擎分散在不同的服务器上,在使用Docker machine
远程管理它们之前,我想在本地主机上建立一个测试实验室。最重要的是。。。我很好奇如何完成这项任务。看起来这是不可能的。谢谢你的回复。docker context
和docker machine
之间有什么区别?
docker-machine create --driver generic --generic-ip-address 127.0.0.1 --generic-ssh-user <"ssh_username"> <node_name>
Running pre-create checks...
Creating machine...
(localhost) No SSH key specified. Assuming an existing key at the default location.
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Password:
Detecting the provisioner...
Password:
Error creating machine: Error detecting OS: Error getting SSH command: ssh command error:
command : cat /etc/os-release
err : exit status 1
output : cat: /etc/os-release: No such file or directory
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
localhost - generic Running tcp://127.0.0.1:2376 Unknown Unable to query docker version: Cannot connect to the docker engine endpoint