Visual studio 如何使用docker-compose.override.yml为App_数据文件夹添加卷?
我正在试验Visual Studio的Visual studio 如何使用docker-compose.override.yml为App_数据文件夹添加卷?,visual-studio,docker,docker-compose,docker-for-windows,Visual Studio,Docker,Docker Compose,Docker For Windows,我正在试验Visual Studio的docker支持,并希望为C:\inetpub\wwwroot\App\u Data添加卷装载 我的Dockerfile如下所示: FROM microsoft/aspnet:4.7.1-windowsservercore-1709 ARG source WORKDIR /inetpub/wwwroot COPY ${source:-obj/Docker/publish} . 我的docker compose.yml文件如下所示: FROM microso
docker
支持,并希望为C:\inetpub\wwwroot\App\u Data
添加卷装载
我的Dockerfile
如下所示:
FROM microsoft/aspnet:4.7.1-windowsservercore-1709
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
我的docker compose.yml
文件如下所示:
FROM microsoft/aspnet:4.7.1-windowsservercore-1709
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
版本:“3.4”
services:
my.app:
image: ${DOCKER_REGISTRY}myapp
build:
context: .\My.App
dockerfile: Dockerfile
现在,我已经尝试了在我的docker compose.override.yml
文件中指定volumes
的几乎所有变体,包括:
version: '3.4'
services:
my.app:
volumes:
- "C:\\inetpub\\wwwroot\\App_Data"
ports:
- "80"
networks:
default:
external:
name: nat
services:
my.app:
volumes:
- "C:\\temp\\dockerappdata1":"C:\\inetpub\\wwwroot\\App_Data"
ports:
- "80"
networks:
default:
external:
name: nat
services:
my.app:
volumes:
- type: volume
source: "app_data"
target: "C:\\inetpub\\wwwroot\\App_Data"
ports:
- "80"
networks:
default:
external:
name: nat
volumes:
app_data:
但在所有情况下,我都无法运行该项目,它会报告compose
中的某种配置问题,或者启动容器时出现问题,并显示超级无用的消息:
encountered an error during Start: failure in a Windows system call: The compute system exited unexpectedly.
正确的语法是什么?如果我正确理解您的问题,您希望将“C:\inetpub\wwwroot\App\u Data”卷装到容器中,对吗 如果是这种情况,您应该在yaml文件中添加以下内容:
services:
my.app:
volumes:
- C:\\inetpub\\wwwroot\\App_Data:C:\\temp\\dockerappdata1
# Syntax is HOST_PATH:CONTAINER_PATH:[ro/rw] (the access mode is optional)
ports:
- "80"
有关语法的详细信息:
我认为这里的问题是,您正在尝试挂载一个已经存在的目录。将范围缩小到实际问题,即没有任何覆盖文件、从组合文件中删除任何服务、删除端口、网络等