sudo:docker-machine:命令未找到。

41

有谁曾尝试过跟着这个关于Docker Swarm的教程学习?

https://docs.docker.com/get-started/part4/

其中的一个部分是创建集群。我想要做的是使用docker-machine创建一些虚拟机。由于我使用的是ubuntu16.0.4,所以我使用以下命令来获取VirtualBox。

sudo apt-get update
sudo apt-get install virtualbox-5.2
安装了VirtualBox后,我输入了以下命令:docker-machine create --driver virtualbox myvm1 但是显示如下错误信息:sudo: docker-machine: command not found。所以我输入了另一个命令来检查是否正确安装了VirtualBox:sudo virtualbox version。这打开了Oracle VM VirtualBox Manager,这意味着我已经正确安装了VirtualBox,但不确定问题出在哪里。是否有人可以帮我找到合适的解决方案?非常感谢您的帮助。

2
你按照 https://docs.docker.com/machine/install-machine/ 安装了 docker-machine 吗? 在先决条件中指出,必须安装 Docker machine,并且在 Linux 上它不是预安装的。 - twoTimesAgnew
不,我还没有。让我按照docs.docker.com/machine/install-machine的说明尝试安装docker-machine。 - CHRIS LEE
5个回答

61

首先需要在本地安装Docker Machine。如果您使用的是Ubuntu,只需使用以下代码片段即可(如果需要,请从官方仓库发布页面更新版本):

$ curl -L https://github.com/docker/machine/releases/download/v0.16.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

1
我在我的虚拟机中使用了这个,但它没能正常工作。二进制文件内包含“未找到”的字符串。 - l0k3ndr
这个答案安装了一个过时的 Docker Machine 版本。我已经添加了一个答案,其中包含了最新的指令和 GitHub 上的发布页面链接 - DaveLak

33

被接受的答案包含过时的安装指令!

有关Docker Machine的最新指令,请在此处官方文档中查找。其中包括适用于macOS、Linux( 包括Ubuntu)和Windows with Git BASH的说明。完整的文档可以在这里找到

虽然@sdey0081的答案或多或少是正确的,但运行发布的命令将导致安装了一个过时版本的Docker Machine。它所安装的版本是v0.13.0,而在撰写本文时的当前发布版本为v0.15.0。您可以在GitHub repo here中找到可用的发布版本。


1
这个才是真正的答案,参考官方文档就对了。 - Shift 'n Tab
3
这肯定是正确答案。但我必须说,如今人们对于在Linux系统上下载和运行二进制文件感到如此舒适,让我有些担忧。 - Teekin
1
最大的区别在于,根据文档,您必须在计算机上安装Docker。这将显著增加开销,仅仅是为了使用docker-machine。 - Croll

5
在MacOS上,使用brew安装是最简单的解决方案:brew install docker-machine

1

以下是关于主要答案的步骤的附加信息:

1)安装docker-machine,你需要按照@coturiv所提到的方式进行操作:

$ curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
    chmod +x /tmp/docker-machine &&
    sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

2) 如果您在运行命令docker-machine create后遇到错误:

Error creating machine: Error with pre-create check: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path

确保您还安装了virtualbox

sudo apt-get install virtualbox

3)如果您再次获得类似 错误 的错误:
This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory 

尝试使用--virtualbox-no-vtx-check运行命令docker-machine create,如下所示:

docker-machine create default --virtualbox-no-vtx-check

此答案存在同样的问题,推荐了一个过时的版本。 - DaveLak
@DaveLak 这就是为什么我在主要答案的附加信息中写了这些。如果您想要理解/分析为什么在尝试解决主要问题时会出现这些问题,那么这些信息可能会有所帮助,但是如果您知道如何改进它,也可以进行改进。 - invzbl3

0

https://docs.docker.com/machine/ :

Docker Machine已被弃用,请改用Docker Desktop。请参阅Docker Desktop for Mac和Docker Desktop for Windows。您也可以使用其他云供应工具。


那Linux怎么样? - buc030
编辑 - Docker桌面版似乎也支持Linux。 - buc030

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接