首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker compose您是否正在尝试将目录挂载到文件中(反之亦然)?

Docker compose您是否正在尝试将目录挂载到文件中(反之亦然)?
EN

Stack Overflow用户
提问于 2021-08-12 01:27:18
回答 1查看 2K关注 0票数 3

我使用的是Docker版本20.07,正在尝试挂载我的配置文件。

我的Docker compose看起来像这样的-:

代码语言:javascript
复制
version: '2'
services:
  prometheus:
    image: prom/prometheus
    ports:
      - '9090:9090'
    container_name: prometheus
    restart: always
    volumes:
      - './prometheus/prometheus.yml:/etc/prometheus/prometheus.yml'
  grafana:
    image: grafana/grafana
    ports:
      - '3000:3000'
    container_name: grafana
    restart: always
    depends_on:
      - prometheus
    volumes:
      - './grafana/config/grafana.ini:/etc/grafana/grafana.ini'

我的文件夹结构是这样的:

代码语言:javascript
复制
Root
Monitoring_Stack
-- prometheus.yml
-- grafana.ini
-- docker-compose.yml

当我做docker-compose up -d的时候,我总是得到:-

代码语言:javascript
复制
ERROR: for prometheus  Cannot start service prometheus: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/run/desktop/mnt/host/d/Docker/monitoring_stack/prometheus/prometheus.yml" to rootfs at "/etc/prometheus/prometheus.yml" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type        
ERROR: Encountered errors while bringing up the project.

如果我做错了什么,我将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-12 01:52:59

对于主机卷,如果源不存在,docker会将其创建为空目录(否则绑定挂载将失败)。如果容器内的目标是一个文件,则这不起作用。

您的目录结构中没有文件./prometheus/prometheus.yml。取而代之的是你有一个./prometheus.yml。对于grafana也是如此。左边的路径是主机上容器外部的路径。冒号后面是容器内的路径。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68750578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档