对于我们的产品,我们有一个文件夹,其中包含每个我们的客户都不同的配置文件。因此,此文件在构建上下文之外。
我尝试将一个卷添加到docker-compose文件中。您可以在下面看到文件,这会导致以下错误
然后我想将config文件夹的内容复制到docker容器(在dockerfile中)
docker-compose文件:
version: '3.4'
services:
my_product:
image: ${DOCKER_REGISTRY}my_product
volumes:
- .\container\conf:/var/my_config:rw
build:
context: .\container\Web
dockerfile: Dockerfile
Dockerfile:
FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot
COPY ${source:-obj/Docker/publish} .
COPY /var/my_config/. /inetpub/wwwroot/@conf/.
我无法修复docker-compose文件中的错误,并且不确定是否有可能或好的主意将dockerfile中的my_conf文件夹复制。
致谢, 马可
更新了docker-compose.yml
version: '3.4'
services:
my_product:
image: ${DOCKER_REGISTRY}my_product
environment:
COMPOSE_CONVERT_WINDOWS_PATHS: "0"
volumes:
- .\container\conf:/var/my_config:rw
build:
context: .\container\Web
dockerfile: Dockerfile
我仍然收到“无效的卷规格”错误。
答案 0 :(得分:0)
我认为您的docker-compose文件没有问题。尝试在Windows Shell中设置COMPOSE_CONVERT_WINDOWS_PATHS = 0。
如果您的本地驱动器是共享的,也可以尝试设置-共享驱动器。
最后但并非最不重要的一点是,您可能尝试在docker compose文件中分别创建卷,然后将其添加到容器中。
services:
my product:
build:
context: .\container\Web
dockerfile: Dockerfile
volumes:
newvolume:C:\path:/var/path/conf:rw
volumes:
newvolume: