Я использую универсальную VM производства Openshift. Я пытаюсь извлечь изображения из частного безопасного реестра с помощью потока изображений. Это определение ImageStream:
apiVersion: v1
kind: ImageStream
metadata:
name: my-image-stream
annotations:
description: Keeps track of changes in the application image
name: my-image
spec:
dockerImageRepository: "my.registry.net/myproject/my-image"
Репозиторий защищен сертификатом. На моем локальном компьютере они находятся в /etc/docker/certs.d/my.registry.net
, и я могу войти в систему с помощью docker login my.registry.net
.
Однако, когда я запускаю oc import-image
, я получаю следующую ошибку:
The import completed with errors.
Name: my-image
Namespace: myproject
Created: About an hour ago
Labels: <none>
Description: Keeps track of changes in the application image
Annotations: openshift.io/image.dockerRepositoryCheck=2017-01-27T08:09:49Z
Docker Pull Spec: 172.30.53.244:5000/myproject/my-image
Unique Images: 0
Tags: 1
latest
tagged from my.registry.net/myproject/my-image
! error: Import failed (InternalError): Internal error occurred: Get https://my.registry.net/v2/: remote error: handshake failure
About an hour ago
Я скопировал сертификаты на бродячую машину и перезапустил демон докеров, но проблема остается. Я не нашел никакой документации о том, как правильно добавить сертификаты, поэтому просто положил их в обычную папку докера.
Каков правильный способ сделать эту работу?
Обновление в ответ на rezie's ответ:
На моем бродячем ящике нет файла etc/origin/master/ca-bundle.crt
. Я нашел следующие файлы ca-bundle.crt:
$ find / -iname ca-bundle.crt
/etc/pki/tls/certs/ca-bundle.crt
##multiple lines like
/var/lib/docker/devicemapper/mnt/something-hash-like/rootfs/etc/pki/tls/certs/ca-bundle.crt
/var/lib/origin/openshift.local.config/master/ca-bundle.crt
Я добавил корневой сертификат к /etc/pki/tls/certs/ca-bundle.crt
и к var/lib/origin/openshift.local.config/master/ca-bundle.crt
, но это ничего не изменило. Обратите внимание, однако, что мне не нужно иметь этот корневой сертификат в /etc/docker/certs.d/..., чтобы войти в систему напрямую, используя docker login my.registry.net
я добавил