Docker主机和其他基本问题

时间:2017-03-23 00:31:40

标签: docker docker-container

我是Docker的新手。希望你可以提供一些简单的问题。

我有一台Windows 10机器安装了“docker for windows”。在其HyperV管理器中,我可以看到一个名为“MobyLinuxVM”的虚拟机。

所以我的问题是:

1,当人们谈论“Docker Host”和“Docker Engine”时,根据我的情况他们是什么

- 我认为“Docker Host”应该是我的Windows PC,而“Docker Engine”就是Hyper-V中的虚拟机。



2,如果我使用ipconfig查看我的电脑,我会发现我有至少2个网络和IP地址:

  (a) Lan Adapter -- show my IP is 192.168.xxx.yyy

  (b) DockerNAT -- show my IP is 10.0.75.1

然后当我尝试使用dock-compose.yml创建容器时,我发现我只能使用:

environment:

- MAGENTO_HOST=10.0.75.2 

- MARIADB_HOST=10.0.75.2

创建容器并可以直接访问(例如通过浏览器访问Magento网站)。所以问题是:

如果我的机器在Docker网络中是10.0.75.1,那么什么是10.0.75.2?为什么我不能使用例如10.0.75.3吗



3,我的yml脚本实际上包含多个容器创建 - 例如2个Magento容器+ 2个MariaDB容器+等当我指定他们的码头'主机'时,为什么它不是我的机器? (如果我在第一个问题中将我的机器称为'docker host'并将hyper-v虚拟映像称为'docker engine'。)



4,同样根据我的第3个问题,我目前在1个主机内部署所有容器。是否值得使用 Docker Swarm ,人们可以使用它来集群多个Docker主机?如果是这样,这是否意味着我需要使用Hyper-V来创建另一个“MobyLinuxVM”?

非常感谢!

1 个答案:

答案 0 :(得分:1)

1 Docker Engine + Docker Host

Docker Engine是管理Docker容器的一组进程。 dockerd通常是该流程树的负责人。

Docker Host是运行Docker引擎的操作系统,即MobyLinuxVM

您的VM主机是您的Windows框。

2 Docker主机IP

10.0.75.2很可能是分配给MobyLinuxVM的地址。我没有运行Docker for Windows所以不能完全确认,但搜索网络似乎支持这一点。

3 - 见1

4 Swarm

您需要运行多个VM来设置swarm。 Docker machine是设置swarm实例时使用的工具。它允许您管理多个Docker实例并附带HyperV驱动程序。