我正在尝试从ubuntu-1904Google Cloud 上运行的常规 VM 实例(即)上的私有 GCP 容器注册表中提取 docker 容器,但出现以下错误:
user@test ~ $ sudo docker pull example.io/docker-dev/name:v01
Error response from daemon: unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
Run Code Online (Sandbox Code Playgroud)
我按照这些说明进行操作,即运行该gcloud auth configure-docker命令,该命令会输出一条成功消息。
但是,docker pull再次运行该命令时,我得到完全相同的错误。
一些可能有助于提供反馈的额外测试:
docker run hello-world拉取并运行hello-world映像)docker pull example.io/docker-dev/name:v01在本地计算机(Mac)而不是 vm 实例上测试了相同的命令 ( ) 并且运行良好。virtual-machine docker google-cloud-platform google-container-registry docker-compose
将 jQuery 3.4.0 升级到 3.4.1 后,在输入blur()或focus()事件上Cannot read property 'value' of undefined出现错误。
that.container.on('click', '.binary_field', function(){
$("input:focus").blur();
}
Run Code Online (Sandbox Code Playgroud)
我认为这可能是 jquery 源代码发生这种变化的原因:https://github.com/jquery/jquery/commit/24d71ac70406f522fc1b09bf7c4025251ec3aee6?diff=unified#diff-031bb62d959e7e4949d15537f3R
上周在一个流中出现了非常奇怪的NPE,这让我遇到了很多麻烦,所以现在我觉得在使用Stream时我对NPE过于安全.
这是我现在的方法:
private boolean matchSomeError(final List<ErrorAtMessageLevel> errorList) {
return errorList.stream()
.filter(errorAtMessageLevel -> errorAtMessageLevel.getErrorSegment() != null && errorAtMessageLevel.getErrorSegment().getErrorDetails() != null)
.map(errorAtMessageLevel -> errorAtMessageLevel.getErrorSegment().getErrorDetails())
.anyMatch(errorDetails -> SOME_FANCY_ERROR_CODE.equals(errorDetails.getErrorCode()));
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我在这里处理外部POJO所以我无法更改它并使其为null安全所以我必须调整我的代码.
这里有一些限制:1)errorList - 这里不能为null所以调用.stream()是安全的 - 当它为空时它将返回false 2)getErrorSegment()并且getErrorDetails()都可以为null这就是为什么我使用这样的过滤器以确保它们都不是是null 3)getErrorCode()可以为null但它永远不会抛出NPE,因为它只会在与null匹配时返回false - 很好.
你会如何改善这条小溪?我觉得我.filter()很糟糕,可以做得更好.最近写了很多这样的代码,因为我不确定流是如何处理null并且不想让NPE进入,.map()因为它被调用为null
我的 Windows PC 上有 Docker 桌面。在注册表中检查 docker 的版本时,它会将版本显示为2.1.0.5. 但是当我在 Windows CMD 中运行以下命令时,它会将版本返回为19.03.5.
哪个是正确的版本,为什么它会为单个应用程序显示两个不同的版本?
我有一个素材滑动切换按钮,它是使用[(ngModel)]用值“ true”或“ false”的字符串变量进行两种方式绑定的,当我切换它时,该按钮会正确更新变量的值,但对于第一次将其加载到DOM中时,即使变量中的值为“ false”,它也始终将其状态显示为true。
<div *ngIf="agent.attributes[i].type == 'Boolean'">
<mat-slide-toggle [checked]="agent.attributes[i].value == 'true' ? true : false"
[(ngModel)]="agent.attributes[i].value">{{agent.attributes[i].value}}</mat-slide-toggle>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在使用 inteliJ pro 2020、java 11maven和lombok.
运行后mvn clean install生成一个jar。当我检查 jar 中具有一些lombok注释(例如 )的特定类文件时@Data, @NoArgsConstructor, @Setter,注释丢失了。
例如 :
原班:
import com.fasterxml.jackson.annotation.JsonTypeName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.Set;
import org.apache.logging.log4j.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Data
@Setter
@NoArgsConstructor
@JsonTypeName("Bclass")
@Slf4j
public class B extends A{
Run Code Online (Sandbox Code Playgroud)
jar 中的 .class 文件:
import com.fasterxml.jackson.annotation.JsonTypeName;
import java.util.Date;
import java.util.Set;
import org.apache.logging.log4j.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@JsonTypeName("Bclass")
public class B extends A{
Run Code Online (Sandbox Code Playgroud)
lombok 注释和导入消失了。 …
我正在学习一些教程,Java Streams看起来所有这些教程都已经过时了(或者显然我不明白)
var list = Arrays.stream(new int[] {1,2,3,4,5,6})
.filter(x -> x > 3)
.collect(toList());
Run Code Online (Sandbox Code Playgroud)
它告诉我这个错误:
Expected 3 arguments but found 1
Run Code Online (Sandbox Code Playgroud)
但是每个教程都使用这样的收集代码。
出了什么问题?
java ×3
docker ×2
java-stream ×2
android ×1
angular ×1
charts ×1
events ×1
integer ×1
javascript ×1
jquery ×1
kotlin ×1
lombok ×1
maven ×1
typescript ×1
upgrade ×1