好吧,我正在尝试将私有 docker 镜像发布到 kubernetes,但遇到了一些奇怪的问题。
我开始登录docker
docker login -u $DOCKER_USER -p $DOCKER_TOKEN
这会将我的密码存储在配置文件中,因此我运行此
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
我希望它能获取文件中的 URL config.json
,但是我收到了此错误
The connection to the server localhost:8080 was refused - did you specify the right host or port?
所以我想我也可以指定服务器
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
但仍然没有运气。
error: EOF
2020-01-12T19:45:39.7433187Z stdout P Please enter Username:
由于这是在构建服务器上运行,我无法输入用户名。
那么我在这里遗漏了什么?
答案1
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
您正在将确定要连接的 kubernetes 服务器的--server=
参数与kubectl
--docker-server=
您将需要使用提供的kubectl create secret docker-registry
命令(而不是generic
类型),因为Secret
由专门版本创建的是不是只是.docker/config.json
将文件上传到集群——它们在结构上是不同的
还:
与服务器 localhost:8080 的连接被拒绝 - 您是否指定了正确的主机或端口?
很明显你没有正确配置 kubeconfig,所以kubectl
在解决这个问题之前,你可以忘记任何命令执行任何合理的操作