我一直在尝试docker-compose up -d
到我的容器,但是在下面导致此错误:
错误:对于phpsample-feed_phpsample_1无法启动服务phpsample:OCI运行时创建失败: container_linux.go:346:启动容器进程引起的“ process_linux.go:449:容器初始化引起的 \“ rootfs_linux.go:58:将\\” / c / Users / testUser / Documents / phpsample-feed / src \\“安装到rootfs \\“ / mnt / sda1 / var / lib / docker / overlay2 / e6bf66b01f587c8826c2944b676044c6a199a0c8c2b8807adf13de0e0f0c8509 / 在\\“ / mnt / sda1 / var / lib / docker / overlay2 / e6bf66b01f587c8826c2944b676044c6a199a0c8c2b8807adf13de0e0f8c4509 / merged / var / www / html \\“导致\\”不是目录\\“ \”“:未知:您是否要挂载目录 到文件上(反之亦然)?检查指定的主机路径是否存在并且是预期的类型
这是我的docker-compose.yml
文件:
version: '3.7'
services:
phpsample:
build:
context: .
init: true
ports:
- '8080:80'
depends_on:
- db
- redis
volumes:
- ./src:/var/www/html:rw
environment:
- DB_HOST=db
- DB_USR=user
- DB_PW=test
- DB_DBNAME=phpsample
- DB_DBPREFIX=dev_
- IS_SHORT_URL=1
- CACHE_DRIVER=redis
- CACHE_HOST=redis
- CACHE_PORT=6379
- CACHE_REDIS_DB=3
- DEBUG=false
restart: always
db:
image: mysql:8
environment:
- MYSQL_ROOT_PASSWORD=test
- MYSQL_USER=user
- MYSQL_PASSWORD=test
- MYSQL_DATABASE=phpsample
volumes:
- db_data:/var/lib/msyql
command: --default-authentication-plugin=mysql_native_password --sql_mode=NO_ENGINE_SUBSTITUTION
redis:
image: redis:5-buster
init: true
command: ["redis-server", "--appendonly", "yes"]
volumes:
- redis_data:/data
volumes:
db_data:
redis_data:
我使用的系统和工具:
我还尝试通过执行this在VM上编辑Shared Folders
。使用以下设置:
名称:c/Users
路径:C:\Users
答案 0 :(得分:0)
src
应该是包含您的Web内容的目录,而不是文件。
答案 1 :(得分:0)
在docker-compose.yaml文件中,确保输入的Yaml文件路径在卷下存在: