使用Minikube时无法从私人仓库中拉出泊坞窗图像

Jas*_*ite 9 x509 docker boot2docker kubernetes

我试图使用Minikube进行本地kubernetes开发.我已经设置了docker环境,以便按照建议使用在提供的Minikube VM(boot2docker)中运行的docker守护程序:

eval $(minikube docker-env)
Run Code Online (Sandbox Code Playgroud)

它设置了这些环境变量:

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/home/jasonwhite/.minikube/certs"
Run Code Online (Sandbox Code Playgroud)

当我尝试从私有docker存储库中提取图像时:

docker pull oururl.com:5000/myimage:v1
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Error response from daemon: Get https://oururl.com:5000/v1/_ping: x509: certificate signed by unknown authority
Run Code Online (Sandbox Code Playgroud)

看来我需要以某种方式添加一个受信任的ca根证书,但到目前为止我的尝试都没有成功.

我可以使用我们的ca根证书使用curl命中存储库:

curl --cacert /etc/ssl/ca/ca.pem https://oururl.com:5000/v1/_ping
Run Code Online (Sandbox Code Playgroud)

Jas*_*ite 3

我根据以下来源的建议提出了针对这种情况的解决方法:

https://github.com/docker/machine/issues/1799

https://github.com/docker/machine/issues/1872

我登录到 Minikube VM ( minikube ssh),并/usr/local/etc/ssl/certs/ca-certificates.crt通过附加我自己的 ca 证书来编辑该文件。

然后,我仍在虚拟机内重新启动了 docker 守护进程:sudo /etc/init.d/docker restart

这不是很优雅,因为如果我重新启动 Minikube VM,我每次都需要重复这些手动步骤。

作为替代方案,我还尝试--insecure-registry myurl.com:5000在环境变量中设置该选项DOCKER_OPTS(重新启动docker),但这对我不起作用。