
さて、プライベート 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
その問題を修正するまでは、どのコマンドも適切な動作をしないことを忘れてください。