【发布时间】:2020-03-29 19:22:38
【问题描述】:
这里是场景:
- SQL SERVER 相关文件位于:C:\Temp\docker
- .NET API 相关文件位于:C:\Users\Samurai\source\repos\ApiForDocker\ApiForDocker
据我从这个官方示例 docker-compose 文件中了解到:
version: "3"
services:
web:
build: . // relative path goes over here
links:
- "db:database"
db:
image: postgres
现在我可以将 docker-compose 文件保存在任一文件夹中。 1) 或 2) 但是如何在不移动文件的情况下为其他人提供正确的路径? 我现在不想移动文件的原因是因为我担心它可能会导致重建没有缓存的容器。虽然现在这对我来说可能没什么大不了的,但我只是在努力学习。
编辑:
version: "3"
services:
coreapi:
build:
context: .
dockerfile: Dockerfile
ports:
- "5000:5000"
sqlserver:
build:
context: C:\Temp\docker
environment:
ACCEPT_EULA="Y"
SA_PASSWORD="Pwd12345!"
ports:
- "11433:1433"
错误:
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
services.sqlserver.build contains unsupported option: 'environment'
【问题讨论】:
-
context:目录的文档表明它不需要是相对路径,因此您可以使用两个图像树的绝对路径。同样,如果您使用绑定挂载将数据库数据存储在主机上,它可以使用绝对路径。如果您尝试一下,您会遇到什么具体问题吗? -
@DavidMaze 我尝试了绝对路径(见我的编辑)它给了我
ERROR: The Compose file '.\docker-compose.yml' is invalid because: services.sqlserver.build contains unsupported option: 'environment'不确定是不是因为绝对路径 -
在更新后的文件中,
environment:缩进了一级太多;它不能低于build:。
标签: .net sql-server docker docker-compose yaml