docker - VS2017 构建失败 - DOCKER_REGISTRY
问题描述
我开始使用 Docker 并熟悉 .NET Core 和 Visual Studio 2017。我创建了一个名为“WebApplicationCore21”的新 Web 应用程序(Razor Pages),启用了 Docker 支持并收到了一个不错的 Dockerfile。
FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1709 AS base
WORKDIR /app
EXPOSE 62911
EXPOSE 44323
FROM microsoft/dotnet:2.1-sdk-nanoserver-1709 AS build
WORKDIR /src
COPY WebApplicationCore21/WebApplicationCore21.csproj WebApplicationCore21/
RUN dotnet restore WebApplicationCore21/WebApplicationCore21.csproj
COPY . .
WORKDIR /src/WebApplicationCore21
RUN dotnet build WebApplicationCore21.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish WebApplicationCore21.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplicationCore21.dll"]
虽然项目构建正常,但在运行(F5) 时出错,说明:
Description: The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
Project: docker-compose
File: Microsoft.VisualStudio.Docker.Compose.targets
Line: 363
验证步骤:
- 在主板和 Windows 10 Pro 中启用 Hyper-V
- Docker for Windows 已安装
- 可以同时登录 Docker Hub 和客户端
- 将 Docker 客户端从 Linux 切换到 Windows 容器
我还注意到,虽然我可以使用我的集线器凭据登录 Docker 客户端,但尝试docker login
在 PowerShell 中运行并使用相同的用户名/密码会产生以下结果:
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
也许这是有帮助的,也许是无关的;我只需要从 VS2017 运行。
解决方案
我今天早上根据错误找到了我的解决方案。unauthorized: incorrect username or password
当我在系统托盘中检查 Docker for Windows 时,我使用我的 Docker Hub 电子邮件地址登录。Docker for Windows 认为这是可以接受的,这是一种误导。这样做会给它与之交互的应用程序(如 VS2017)带来麻烦。使用我的 Docker Hub 用户名解决了它。
推荐阅读
- scala - 在 Spark 中按 RDD 的一列排序
- ruby-on-rails - Rspec before(:each) 有效,但 before(:all) 无效
- java - 码头服务器中的 jboss-deployment-structure.xml 等效项
- postgresql - 两组的 PostGIS 最小距离,包括两个表中的其他变量
- c - 在 C 编程中,需要的 L 值是语义错误还是语法错误?
- java - “java.lang.LinkageError:以前为具有名称的不同类型启动加载”的原因
- reactjs - take(eventChannel) 采取所有行动而不是发出的结果
- spring-boot - 春季云任务多个数据源的问题
- c++ - 用于存储通用 lambda 的通用 std::function
- python - Keras 模型编译错误:TypeError:“张量”类型的对象没有 len() model.compile