根据评论,您使用minikube start
(未指定驱动程序)启动minikube。
这意味着minikube在 Virtualbox VM 中运行。为了使您的用例起作用,您有两种选择:
- 困难的方式:设置VM与主机之间的连接并使用主机IP
- 简便方法,使用
minikube ssh
连接到VM并在其中安装注册表。然后,您的部署应使用VM的IP。
如果您不想使用“虚拟”框,则应阅读documentation,以了解其他现有驱动程序以及如何使用它们。
希望这会有所帮助!
,
localhost:5000
指向广告连播本身。
如果Docker注册表在运行minikube的同一主机上运行:
-
获取主机的IP地址(例如,使用ifconfig
)。就是10.0.2.15
。
-
标记图像:
docker tag coremvc2:latest 10.0.2.15:5000/coremvc2:latest
-
将带有标签的图像推送到本地注册表:
docker push 10.0.2.15:5000/coremvc2:latest
-
更改部署:
image: localhost:5000/coremvc2
到
image: 10.0.2.15:5000/coremvc2:latest
编辑:如果出现“ ... http:服务器已将HTTP响应给HTTPS客户端的响应”错误,则可以通过编辑/etc/docker/daemon.json
将本地Docker守护程序的本地Docker注册表配置为insecure registry(创建如果不存在的话):
{
... any other settings or remove this line ...
"insecure-registries": ["10.0.2.15:5000"]
}
...然后重新启动docker:
sudo service docker restart
不确定您如何运行本地Docker注册表,但这是一种方法:
docker run -d -p 5000:5000 --name registry registry:2
,
问题是您在主机上设置了docker注册表,并且minikube在虚拟环境中运行(根据您的示例为Virtualbox)。
这就是为什么在尝试获取端口5000上的映像时收到“连接被拒绝”错误的原因。根本原因是没有在minikube上侦听5000的进程“内部” minikube。您的注册表被部署在minikube的“外部”
正如Marc所说,有两种方法可以修复ita,而我已复制了这两种方法。 硬方式将使您能够:
Failed to pull image "10.150.0.4:5000/my-alpine": rpc error: code = Unknown desc = Error response from daemon: Get https://10.150.0.4:5000/v2/: http: server gave HTTP response to HTTPS client
因此,您必须根据The Docker Documentation
设置安全的Docker注册表
简便的方法是将其设置在您的迷你计算机上。
my@linux-vm2:~$ minikube ssh
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
...
Status: Downloaded newer image for registry:2
$ docker pull nginx:latest
...
Status: Downloaded newer image for nginx:latest
$ docker tag alpine:latest localhost:5000/my-nginx
$ docker push localhost:5000/my-nginx
$ logout
my@linux-vm2:~$ kubectl apply -f ./docker-compose-k.yml --record
deployment.apps/core23 created
my@linux-vm2:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
core23-b44b794cb-vmhwl 1/1 Running 0 4s
my @linux-vm2:~$ kubectl describe pods
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned default/core23-b44b794cb-vmhwl to minikube
Normal Pulling 9s kubelet,minikube Pulling image "localhost:5000/my-nginx"
Normal Pulled 9s kubelet,minikube Successfully pulled image "localhost:5000/my-nginx"
Normal Created 9s kubelet,minikube Created container coremvc
Normal Started 9s kubelet,minikube Started container coremvc
请注意,在此示例中,我一直使用nginx
而不是coremvc2
(但步骤相同)。
总结起来,可以通过几种不同的方式来获得所需的结果。请尝试,让我们知道它的进展。干杯:)
本文链接:https://www.f2er.com/3028193.html