Docker-compose 错误:无效的参考格式:存储库名称必须小写

yes*_*can 4 docker dockerfile docker-compose

我正在 Visual Studio 2017 上使用 docker 开发微服务。我已经处理这个错误半天了。

Severity    Code    Description Project File    Line    Suppression State
Error       Creating network "dockercompose8357222465790585823_default" with the default driver
Building Pricing.api
invalid reference format: repository name must be lowercase.
Run Code Online (Sandbox Code Playgroud)

这是撰写内容版本:'3'

services:
  Pricing.api:
    image: Pricing.api
    build:
      context: ../PricingAPI
      dockerfile: Dockerfile
Run Code Online (Sandbox Code Playgroud)

和 docker 文件

FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "PricingAPI.dll"]
Run Code Online (Sandbox Code Playgroud)

这是 ci 版本:'3'

services:
  ci-build:
    image: microsoft/aspnetcore-build:2.0-2.0
    volumes:
      - .:/src
    working_dir: /src
    command: /bin/bash -c "dotnet restore ./Pricing.MicroService.sln && dotnet publish ./Pricing.MicroService.sln -c Release -o ./obj/Docker/publish"
Run Code Online (Sandbox Code Playgroud)

当它按存储库说时,它指的是什么?

yes*_*can 6

事实证明,存储库的意思是“服务”。我更新了服务名称,如下所示,它可以工作。

 services:
      Pricing.api: => pricing.api with lowercase ‘p’
        environment:
          - ASPNETCORE_ENVIRONMENT=Development
        ports:
          - "80"
Run Code Online (Sandbox Code Playgroud)

应该说

无效的参考格式。服务名称必须小写。

这是一个令人困惑的错误消息。这是 Docker 团队必须修复 imo 的事情。

  • 我的所有服务都是小写的,但我仍然收到此错误。我在 Windows 容器中托管 .Net Core。我可以通过 SSMS 连接,但是当我尝试从 api 连接时,我遇到了同样的愚蠢错误 (2认同)