我正在尝试开始使用 Docker,但似乎每一步都遇到问题。看到很多模糊的错误。我已经创建了一个 ASP.NET Core 应用程序并启用了 Docker 支持,它按预期工作。
我现在正在尝试创建 SQL 数据库服务,因此我已按如下方式编辑了撰写文件:
version: '3.4'
services:
sql.data:
sql.data:
image: microsoft/mssql-server-linux
environment:
- MSSQL_SA_PASSWORD=Pass@word
- ACCEPT_EULA=Y
- MSSQL_PID=Developer
ports:
- "5434:1433"
webapplication2:
image: ${DOCKER_REGISTRY}webapplication2
build:
context: .
dockerfile: WebApplication2/Dockerfile
这是输出:
error : (Line: 7, Col: 7, Idx: 107) - (Line: 7, Col: 7, Idx: 107): Expected 'MappingStart', got 'SequenceStart' (at Line: 7, Col: 7, Idx: 107).
1>Done building project "docker-compose.dcproj" -- FAILED.
有什么问题吗?到目前为止我已经看过这里:https://developercommunity.visualstudio.com/content/problem/248013/docker-project-fails-to-build-after-upgrade-to-vis.html - 删除破折号似乎没有帮助。
YAML 似乎在此处解析:http://yaml-online-parser.appspot.com/ 。如果我删除 SQL.Data 服务,那么它会按预期工作。
最佳答案
这似乎是 bug with VS/Dockertools 。您可以使用替代符号:
version: '3.4'
services:
sql.data:
sql.data:
image: microsoft/mssql-server-linux
environment:
MSSQL_SA_PASSWORD : Pass@word
ACCEPT_EULA : Y
MSSQL_PID : Developer
ports:
- "5434:1433"
webapplication2:
image: ${DOCKER_REGISTRY}webapplication2
build:
context: .
dockerfile: WebApplication2/Dockerfile
请注意,冒号 (:) 两侧必须有一个空格。
关于.net - 预期为 'MappingStart' ,得到 'SequenceStart',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51388560/