[英]kind - Kubernetes pods can't pull image from private docker registry
[英]kubernetes can't pull image from private docker registry
您想从非 https 的本地存储库中提取它,添加配置以允许从不安全的存储库中提取。 找到对我来说在这个路径/etc/systemd/system/docker.service.d/docker.conf
docker.conf 文件并添加以下行
[Service]
ExecStart=/usr/bin/dockerd -H fd:// --insecure-egistry=<repo-address>:<port>
我认为这个问题是因为你没有将你的 dockerserver 添加为安全注册表。
您应该将您的注册表添加到daemon.json
文件中。
您必须在机器上创建或修改/etc/docker/daemon.json
。
$ sudo vi /etc/docker/daemon.json
(您可以使用 nano 或其他文本编辑器)在文件中,您必须添加您的存储库。 它应该看起来像
{
"insecure-registries" : ["mydockerserver.com:5000"]
}
在此更改后,您必须使用以下命令重新启动 docker 守护进程
$ sudo service docker restart
同样在您的 yaml 中,您应该使用:
...
image: mydockerserver.com:5000/test-julie-image:latest
...
如果这有帮助,请告诉我。
这可能有点旧,但我遇到了这篇文章,正在寻找相同的解决方案。 下面的链接对我有用:
https://kind.sigs.k8s.io/docs/user/local-registry/
阅读脚本时,请密切注意以下代码:
# create a cluster with the local registry enabled in containerd
cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
containerdConfigPatches:
- |-
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:${reg_port}"]
endpoint = ["http://${reg_name}:${reg_port}"]
EOF
和
# Document the local registry
# https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/generic/1755-communicating-a-local-registry
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
name: local-registry-hosting
namespace: kube-public
data:
localRegistryHosting.v1: |
host: "localhost:${reg_port}"
help: "https://kind.sigs.k8s.io/docs/user/local-registry/"
EOF
即使您没有使用“kind”,并且您已经安装了本地自定义解决方案,上面的代码也应该提供一些见解或指导。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.