当前位置: 首页 > 面试题库 >

Docker:此撰写文件的Docker卷位于何处

闻深
2023-03-14
问题内容

当我涉及此示例撰写文件时,我正在设置一些培训材料:

https://github.com/dockersamples/example-voting-app/blob/master/docker-
compose.yml

而且我找不到文件的第48和49行上如何安装该卷:

volumes:
  db-data:

有人可以向我解释主机上的该卷在哪里吗?找不到它,我不希望在容器消失后保持任何postgresql数据悬挂。网络发生了类似的事情:

networks:
  front-tier:
  back-tier:

为什么docker compose会接受这样的空网络定义?


问题答案:

查找卷

此类卷在Docker内部,并存储在Docker存储区(通常位于/var/lib/docker)下。您可以获取卷列表:

$ docker volume ls
DRIVER              VOLUME NAME
local               1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465
local               2f13b0cec834a0250845b9dcb2bce548f7c7f35ed9cdaa7d5990bf896e952d02
local               a3d54ec4582c3c7ad5a6172e1d4eed38cfb3e7d97df6d524a3edd544dc455917
local               e6c389d80768356cdefd6c04f6b384057e9fe2835d6e1d3792691b887d767724

如果您要执行以下操作,则可以准确找到卷在系统上的存储位置:

$ docker inspect 1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465
[
    {
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465/_data",
        "Name": "1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465",
        "Options": {},
        "Scope": "local"
    }
]

清理未使用的卷

只要确保不使事物悬空,在这种情况下,您可以使用prune命令docker volume prune。这将为您提供此输出,您可以选择是否继续修剪。

$ docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N]

docker-compose.yml中的“空”定义

当您除了定义卷或网络应该存在之外不需要执行任何其他操作时,就有一种倾向接受诸如卷和网络之类的这些“空”定义。也就是说,如果要创建它,但可以使用默认设置,则没有特别的理由指定参数



 类似资料:
  • 我有以下docker撰写。yml公司 当我运行docker compose up时,它会创建指定的卷mongodb,并启动所有需要的容器。但让我困惑的是,卷文件夹有两个空文件夹:

  • 我运行Windows子系统Linux(WSL)与Ubuntu作为Windows 10下的客户端操作系统。现在,我在Windows主机上安装了Docker Desktop,并在Docker设置中启用了WSL集成。到目前为止工作正常,我可以从我的WSL Ubuntu客户端访问运行在视窗主机上的Docker守护程序。 现在我想知道所有Docker卷和其他数据在这个设置中存储在哪里。通常这些都在下,但在使

  • 问题内容: 使用以下文件: 上面文件中的服务启动了卷容器,该卷容器在Docker主机的文件夹中创建了匿名卷,并在卷容器()中创建了挂载点。 服务中的指令是否在容器中创建安装点?这点挂载点的容器? 问题答案: 从 文档: 从另一个服务或容器挂载所有卷… 所以简短的答案 是 : 在服务内部 装入由服务定义的卷。 长答案: 要回答您的问题,让我们运行该服务: 在回答您的问题之前,让我们确保描述清楚: 上

  • 我不确定是否保留了docker撰写。yml文件位于项目根目录或资源文件夹(我使用Maven)中的应用程序。属性文件也被保留。那么,保持docker编写的最合适的方法是什么。Spring Boot项目中的yml文件?

  • 我需要向容器中添加额外的主机。这是docker编写的文件 我在本地启动容器,并在应用程序中记录 /etc/hosts。如果我用启动容器,我可以看到额外的主机添加到 /etc/hosts 如果我启动容器通过

  • 我试图将我的源文件挂载到位于/var/dynamo的docker目录中。我希望能够在本地运行Docker,并在工作时使用我的本地文件。 使用run命令: Docker版本为1.9.1