Docker:您是否尝试将目录挂载到文件上(反之亦然)?

时间:2021-05-18 17:39:57

标签: docker docker-compose

最初使用 Docker-compose 构建容器时,我忘记在运行 credentials.json 之前将 docker-compose up 文件放入目录中。现在 Docker 似乎总是假设 credentials.json 是一个目录而不是一个文件,即使我在目录中有文件(见下面的错误)。

ERROR: for pair-backend  Cannot start service pair-backend: 
OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: rootfs_linux.go:60: 
mounting "/host_mnt/Users/leed36/Desktop/GitHub/pair-app/credentials.json" to rootfs at "/var/lib/docker/overlay2/6808dee4b6f47e47f39143231ee71bb1728292fb69e2a672388bc1ba42c42ebd/merged/app/credentials.json" 
caused: 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

我已尝试删除容器 docker system prune -adocker volume prune,但仍然无法让 Docker 挂载此文件。

这里是 docker-compose 定义

    container_name: pair-backend
    build:
      context: ./backend
      dockerfile: Dockerfile
    env_file:
      - ./backend/.env
    volumes:
      - ./backend:/app/
      - ./credentials.json:/app/credentials.json

我可以让它工作的唯一方法是将文件重命名为其他名称并更改 docker-compose.yaml

- ./credentials1.json:/app/credentials.json

0 个答案:

没有答案