В реестре Docker сертификат должен быть скомпилирован с subjectAltName, как описано в документации :
Вы можете попробовать создать сертификат следующим образом:
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=101.102.103.104" -sha256 -new -key server-key.pem -out server.csr
echo subjectAltName = DNS:101.102.103.104,IP:101.102.103.104,IP:127.0.0.1 >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
Затем вы можете проверить, присутствует ли альтернативное имя субъекта (SAN) в сертификате, с помощью следующей команды:
openssl x509 -in server-cert.pem -text -noout
Теперь попробуйте снова потянуть.Не забудьте поставить новый сертификат на /etc/docker/certs.d/101.102.103.104:5051/
Если после этого вы получите новую ошибку x509: certificate signed by unknown authority
В /etc/default/docker
, вам необходимо указать параметры докера: DOCKER_OPTS="--insecure-registry 101.102.103.104:5051"
Затем перезапустите демон (добавьте sudo, если у вас нет прав на запуск службы Docker):
$ [sudo] service docker restart