小编Bub*_*dow的帖子

在哪里添加 Docker for Mac 的客户端证书?

我有一个 docker 注册表,我正在 nginx 代理后面访问该注册表,该代理使用客户端 ssl 证书进行身份验证。

当我尝试推送到此注册表时,我需要 docker 守护进程将客户端证书发送到 nginx。

根据: https: //docs.docker.com/engine/security/certificates/

应该有一个名为 /etc/docker 的目录,这些证书可以存放在其中。Docker for Mac 上不存在此目录。

所以我想我应该尝试将证书放入虚拟机本身中,方法是:

docker-machine ssh 默认

这导致 docker 抱怨:来自守护程序的错误响应:crypto/tls:私钥与公钥不匹配

我不相信我的密钥对有什么问题,而且我已经在 Linux 上完成了相同的设置(更容易),没有任何问题。

macos ssl docker tls1.2

8
推荐指数
2
解决办法
1万
查看次数

Angular / Jasmine:没有 Overlay 提供商!另外如何测试材质对话框

我正在尝试测试一个角度材质对话框,具体来说,我想测试它在关闭对话框时是否会修改路线。为此,我不想模拟/存根对话框(我不这么认为?),因为我希望它运行执行重新路由的实际 .subscribe 方法。

我在实际对话框中遇到两个错误:

this.dialogRef.afterClosed is not a function
Run Code Online (Sandbox Code Playgroud)

登录对话框组件.spec.ts

describe('LoginDialogComponent', () => {
  let component: LoginDialogComponent;
  let fixture: ComponentFixture<LoginDialogComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [LoginDialogComponent],
      imports: [
        RouterTestingModule.withRoutes([]),
        MatDialogModule
      ],
      providers: [
        {provide: MatDialog},
        {provide: MAT_DIALOG_DATA, useValue: {}},
        {provide: MatDialogRef, useValue: {}},
      ]
    })
      .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(LoginDialogComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});
Run Code Online (Sandbox Code Playgroud)

我遇到的第二个错误是对打开对话框的组件的测试。它报告:

NullInjectorError: R3InjectorError(DynamicTestModule)[MatDialog -> Overlay -> Overlay]: 
  NullInjectorError: No provider for Overlay!
Run Code Online (Sandbox Code Playgroud)

打开我的对话框的组件测试:login.component.spec.ts …

jasmine angular

2
推荐指数
1
解决办法
8515
查看次数

标签 统计

angular ×1

docker ×1

jasmine ×1

macos ×1

ssl ×1

tls1.2 ×1