【发布时间】:2021-11-01 21:24:40
【问题描述】:
我正在尝试通过远程服务器在 docker-compose 上运行一个项目。一切正常,但是一旦我添加有关安装卷的项目,它就会出错:
Error response from daemon: invalid mount config for type "bind": invalid mount path: 'C:/Users/user/Projects/my-raspberry-test' mount path must be absolute
为了运行,我使用来自 PhpStorm 的工具。
docker-compose.yml 文件本身如下所示:
version: "3"
services:
php:
image: php:cli
volumes:
- ./:/var/www/html/
working_dir: /var/www/html/
ports:
- 80:80
command: php -S 0.0.0.0:80
我通过 ssh 检查:
- 守护进程正在运行,
- Docker 工作(在具有相同任务的类似 Dockerfile 上),
- Docker-compose 工作(在同一个文件上)。
还使用 phpstorm 和文件检查了 docker 远程运行:
FROM php:cli
COPY . /var/www/html/
WORKDIR /var/www/html/
CMD php -S 0.0.0.0:80
它没有给出错误并且它有效。
设备上的操作系统:
- PC:Windows 10
- 服务器:Fedora 服务器
无需在 docker-compose 中安装卷,一切都会开始。也许有人遇到过类似的问题? 以php为例。
【问题讨论】:
-
您正在尝试安装对远程主机无效的相对路径。这也是你的错误告诉你的。据我所知,您只能使用命名卷。
-
@TheFool 我试图更改为绝对路径
- C:/Users/user/Projects/my-raspberry-test/app/:/var/www/html/但没有任何改变 -
你提供的路径是windows的路径。那肯定行不通。您的容器在另一台服务器上运行。该路径甚至不存在于服务器上。卷安装在运行守护程序的主机上。正如我所说,我认为您实际上只能使用命名卷。
-
有点,我有地方可以看看尝试解决问题。但我使用 docker-compose 因为它会动态更新我在工作时不断更改的文件。不确定类似的方法是否也能奏效
标签: docker docker-compose