"Docker Toolbox"、"docker-machine"和"Docker Container"之间有什么关系
What's the relationship among "Docker Toolbox", "docker-machine" and "Docker Container"
我对docker完全陌生,最近我跟着James的"The Docker Book"学习了docker。我使用的 OS 是 OSX。我用于 运行 docker 的工具是 Docker Desktop for Mac(顺便说一句,我使用的是 docker-工具箱吗?)。
当我按照书到运行以下代码时:
$ sudo docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
终端returns:
docker: Error response from daemon: failed to initialize logging driver: Unix syslog delivery error.
所以我尝试使用docker-machine ssh
连接到Docker Toolbox VM,但是终端returns:
Error: No machine name(s) specified and no "default" machine exists
之后我下载了 Boot2Docker iso 文件并成功创建了一个名为 "dev".
的 docker-machine
- 所以第一个问题是:**是否已经有一个内部
docker-我创建 "dev"?
之前的机器
- 如果不是,为什么我可以在创建 dev 之前 运行 一个 ubuntu docker 容器?
所以我认为澄清这些概念会有所帮助:
- "Docker Toolbox"
- "docker-machine"
- "Docker Container"
我认为 "Docker toolbox" 是一个软件 运行ning on Mac/PC,它包含一个 Linux 虚拟机。这样我们就可以在该 VM 上创建 "Docker containers"。
但是什么是"docker-machine"?我的 OS 上的 "docker-machine" 和 "Linux VM" 运行ning 有什么关系?
谁能帮我解决这些概念?
Docker Toolbox,(简称DT)是现在被[=取代的Docker包(或"software") 44=] Desktop (DD)(对于 Win 或 Mac)。您不需要(或者可能根本不应该,DT 与 DD 同时安装。它可能会或可能不会导致冲突,我不确定。)。
DT 通过 VirtualBox 在安装时创建默认 VM;如果您没有完整安装 DT,那就是您没有 'default machine' 的原因。 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/
我知道一开始要吸收很多东西,而且很困惑;我自己大约一年半,记得同样的困惑,但一旦你掌握了它,它就很容易,而且非常酷。 =)
我对docker完全陌生,最近我跟着James的"The Docker Book"学习了docker。我使用的 OS 是 OSX。我用于 运行 docker 的工具是 Docker Desktop for Mac(顺便说一句,我使用的是 docker-工具箱吗?)。
当我按照书到运行以下代码时:
$ sudo docker run --log-driver="syslog" --name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
终端returns:
docker: Error response from daemon: failed to initialize logging driver: Unix syslog delivery error.
所以我尝试使用docker-machine ssh
连接到Docker Toolbox VM,但是终端returns:
Error: No machine name(s) specified and no "default" machine exists
之后我下载了 Boot2Docker iso 文件并成功创建了一个名为 "dev".
的 docker-machine- 所以第一个问题是:**是否已经有一个内部 docker-我创建 "dev"? 之前的机器
- 如果不是,为什么我可以在创建 dev 之前 运行 一个 ubuntu docker 容器?
所以我认为澄清这些概念会有所帮助:
- "Docker Toolbox"
- "docker-machine"
- "Docker Container"
我认为 "Docker toolbox" 是一个软件 运行ning on Mac/PC,它包含一个 Linux 虚拟机。这样我们就可以在该 VM 上创建 "Docker containers"。
但是什么是"docker-machine"?我的 OS 上的 "docker-machine" 和 "Linux VM" 运行ning 有什么关系?
谁能帮我解决这些概念?
Docker Toolbox,(简称DT)是现在被[=取代的Docker包(或"software") 44=] Desktop (DD)(对于 Win 或 Mac)。您不需要(或者可能根本不应该,DT 与 DD 同时安装。它可能会或可能不会导致冲突,我不确定。)。
DT 通过 VirtualBox 在安装时创建默认 VM;如果您没有完整安装 DT,那就是您没有 'default machine' 的原因。 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/
我知道一开始要吸收很多东西,而且很困惑;我自己大约一年半,记得同样的困惑,但一旦你掌握了它,它就很容易,而且非常酷。 =)