“ Docker Toolbox”,“ docker-machine”和“ Docker Container”之间的关系是什么

问题描述 投票:0回答:1

我对docker完全陌生,最近我跟随James撰写的《 Docker书》,亲自了解docker。我正在使用的OS是OSX。我用来运行docker的工具是Mac的Docker Desktop(顺便说一句,我使用的是docker-toolbox吗?)。

当我遵循本书以运行以下代码时:

$ sudo  docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

终端返回:

docker:来自守护程序的错误响应:无法初始化日志记录驱动程序:Unix syslog传递错误。

所以我尝试使用docker-machine ssh连接到Docker Toolbox VM,但是终端返回:

错误:未指定计算机名称,并且不存在“默认”计算机

[之后,我下载了Boot2Docker iso文件并成功创建了一个名为“ dev”的docker-machine。

  • 所以第一个问题是:**已经有一个内部我创建“ dev”之前,docker-machine吗?
  • 如果没有,为什么在创建dev之前为什么要运行ubuntu docker容器?

所以我认为澄清这些概念会有所帮助:

  • “ Docker工具箱”
  • “ docker-machine”
  • “ Docker容器”

我以为“ Docker工具箱”是在Mac / PC上运行的包含Linux VM的软件。这样我们就可以在该VM上创建“ Docker容器”。

但是什么是“ docker-machine”? “ docker-machine”和运行在我的OS上的“ Linux VM”之间是什么关系?

有人能帮我解决这些概念吗?

docker docker-machine docker-toolbox docker-for-mac
1个回答
0
投票

Docker Toolbox,(简称DT)是Docker软件包(或“软件”),现已被Docker Desktop(DD)(对于Win或Mac)取代。您不需要(也许根本不需要,与DD同时安装DT。我不确定,它可能会或可能不会引起冲突。)。

DT在安装时通过VirtualBox创建默认VM;如果您没有完整安装DT,这就是为什么您没有“默认计算机”的原因。 Boot2docker.iso也是DT的一部分,但不是DD的一部分。

docker container只是Docker中用于管理容器的命令。 “ docker”是可执行程序本身,而“ container”是其参数。执行docker container --help了解更多详细信息。

docker-machine是DT的一部分的可执行程序;但不属于DD。一旦删除了较旧的DT,您就不再需要使用任何docker-machine调用,因为这些调用现在都可以通过DD中的不同命令使用。

关于您的错误,请看一下:

https://docs.docker.com/config/containers/logging/configure/

在这种情况下,如果您只是想触发一些简单的命令,您可能也想尝试一下docker exec

https://docs.docker.com/engine/reference/commandline/exec/

我知道一开始要吸收很多东西,而且令人困惑;我自己大约有一年半的时间,还记得同样的困惑,但是一旦掌握了它,这将非常容易,而且非常酷。 =)

© www.soinside.com 2019 - 2024. All rights reserved.