我开始使用Docker,并熟悉.NET Core和Visual Studio2017。我创建了一个新的名为“ WebApplicationCore21”的Web应用程序(剃刀页面),并启用了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
已验证步骤:
我还注意到,尽管我可以使用集线器凭据登录Docker客户端,但是尝试在PowerShell中运行docker login
并使用相同的用户名/密码会生成以下内容:
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
这可能有用或无关。我需要的是从VS2017运行。
答案 0 :(得分:4)
今天早晨,我根据unauthorized: incorrect username or password
错误发现了我的solution。
当我在系统托盘中检查Docker for Windows时,我使用Docker Hub电子邮件地址登录。 Docker for Windows认为这是可以接受的,这具有误导性。这样做会给与其交互的应用程序(如VS2017)带来麻烦。使用我的Docker Hub用户名解决了它。
答案 1 :(得分:0)
Option-01-您可能需要替换group 'carpecoin'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.2.41'
ext.junitJupiterVersion = '5.0.3'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.3'
}
}
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testImplementation group: 'junit', name: 'junit', version: '4.12'
// JUnit Jupiter API and TestEngine implementation
testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
// To avoid compiler warnings about @API annotations in JUnit code
testCompileOnly('org.apiguardian:apiguardian-api:1.0.0')
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
implementation 'io.reactivex.rxjava2:rxjava:2.1.1'
implementation 'com.google.firebase:firebase-admin:6.0.0'
implementation 'com.google.firebase:firebase-database:15.0.0'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
与image: ${DOCKER_REGISTRY}xxxxxxxxx
中的image:xxxxxx
Option-02将名称DOCKER_REGISTRY值设置为env的变量添加到任何文件夹。如果出现类似name必须为小写的错误,则将docker-compose.yml
的大小写更改为DOCKER_REGISTRY
。
docker_registry
应该在您的解决方案目录中。