
好吧,我正在嘗試將私人 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
我希望能夠獲取config.json
文件中的 url,但出現此錯誤
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/
您將參數--server=
與混為一談kubectl
,它確定它將連接到的 kubernetes 伺服器--docker-server=
您將需要使用提供的kubectl create secret docker-registry
命令(相對於generic
類型),因為Secret
由專用版本建立的命令是不是只是.docker/config.json
上傳到叢集的檔案——它們在結構上是不同的
也:
與伺服器 localhost:8080 的連線被拒絕 - 您指定了正確的主機或連接埠嗎?
這是一個致命的贈品,您沒有正確配置的 kubeconfig,因此您可以忘記任何kubectl
命令執行任何合理的操作,直到解決該問題