Docker卷新手问题

Docker volumes newbie questions

对于服务,我将卷定义为(我的 yml 文件的摘录)

services:
   wordpress:
      volumes:
         - wp_data:/var/www/html
      networks:
            - wpsite
networks: 
    wpsite:
volumes:
   wp_data:
      driver: local

我知道在 Windows 10 文件系统上我不会轻易看到 WP 卷,因为它们将存在于 linux VM 中。或者,我必须提供一个路径参数才能查看我的 WP 安装,例如

volumes:
   - ./mysql:/var/lib/mysql

但我的问题是 'driver: local' 选项的意义是什么,这是默认值吗?我试过使用 & 不使用这个选项,但看不出有什么不同。

其次这是做什么的?在我的 yml 文件中,我已经将其注释掉,没有任何我能看到的不良影响!?

networks: 
    wpsite:

第一题:
--driver-d 选项默认为本地。 driver: local 是多余的。在 Windows 上,本地驱动程序不支持任何选项。如果您在 Linux 机器上 运行ning docker,您会有一些选择:官方文档在这里 - https://docs.docker.com/engine/reference/commandline/volume_create/

第二题:
在每个部分 networks:/volumes:/services: 中,您基本上声明了部署所需的资源。
也就是说,创建一个虚拟机类比,你可以这样想:你需要创建一个名为wp_data的虚拟磁盘和一个名为wpsite.
的虚拟网络 然后,您需要 wordpress 服务,将 wp_data 磁盘安装在 /var/www/html 下并连接到 wpsite 子网。

您可以使用以下 docker 命令来显示您的组合文件在幕后创建的资源:
docker ps - 显示容器
docker volume ls - 显示 docker 卷
docker network ls - 显示 docker 网络

提示:网络或卷一旦创建,除非手动删除,否则不会自动销毁。您可以手动清理资源并通过 removing/adding 撰写文件中的更多资源自己进行试验。


已更新以回答评论中的问题:
如果您 运行 您的 docker 在 Windows 主机上,您可能启用了 hyper-v。这允许 Windows 创建一个 Linux 虚拟机,您的 docker 引擎在其之上 运行ning。
安装 docker 引擎后,docker 可以创建“虚拟资源”,例如虚拟网络、虚拟磁盘(卷)、容器(人们经常将容器比作 VM)、服务、容器等。

让我们看看您撰写文件中的以下部分:

volumes:
   wp_data:
      driver: local

这将创建一个由 docker 管理的名为 wp_data 的虚拟磁盘。该卷不是直接在您的 Windows 主机文件系统上创建的,而是在 Linux 虚拟机中创建的,该虚拟机 运行 宁在 运行 的 HyperV 之上]ning 在您的 Windows 主机上。如果你想知道确切的位置,你可以执行 docker inspect <containerID> 并查找你在该容器上的挂载,或者 docker volume ls 然后 docker volume inspect <volumeID> 并查找键“Mountpoint”以获取实际位置。