我有由 Dockerfile 创建的以下图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
ruby/lab latest f1903b1508cb 2 hours ago 729.6 MB
我有以下 YAML 文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ruby-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: ruby
spec:
containers:
- name: ruby-app
image: ruby/lab
imagePullPolicy: IfNotPresent
ports:
- containerPort: 4567
当我创建部署时,我在 Pod 中获得以下信息:
ruby-deployment-3830038651-sa4ii 0/1 ImagePullBackOff 0 7m
ruby-deployment-3830038651-u1tvc 0/1 ImagePullBackOff 0 7m
和错误Failed to pull image "ruby/lab:latest": Error: image ruby/lab not found
从下面:
8m 2m 6 {kubelet minikube} spec.containers{ruby} Normal Pulling pulling image "ruby/lab:latest"
8m 2m 6 {kubelet minikube} spec.containers{ruby} Warning Failed Failed to pull image "ruby/lab:latest": Error: image ruby/lab not found
8m 2m 6 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "ruby" with ErrImagePull: "Error: image ruby/lab not found"
为此真的有必要在 docker 中拥有注册表吗?我只想在本地进行测试并将我的代码/存储库传递给朋友以进行测试
Thanks
您可以通过运行将 docker 客户端指向虚拟机的 docker 守护进程
eval $(minikube docker-env)
然后你就可以正常构建你的镜像并使用 kubectl 正常创建你的 kubernetes 资源。确保您有
imagePullPolicy: IfNotPresent
在您的 YAML 或 JSON 规范中。
此外,还有一个标志可将不安全的注册表传递给 minikube VM。但是,必须在第一次创建计算机时指定这一点。
minikube start --insecure-registry
使用私有注册表时您可能还想阅读此内容http://kubernetes.io/docs/user-guide/images/ http://kubernetes.io/docs/user-guide/images/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)