docker - 如何从 Vagrant 上的 Kubernetes 访问私有(private) Docker Hub 存储库

标签 docker kubernetes

我无法从我的私有(private) Docker Hub 存储库中提取到我在 Vagrant 上运行的本地 Kubernetes 设置:

Container "hellonode" in pod "hellonode-n1hox" is waiting to start: image can't be pulled

Failed to pull image "username/hellonode": Error: image username/hellonode:latest not found

我已经按照 here 的描述通过 Vagrant 在本地设置了 Kubernetes并使用 kubectl create secret docker-registry dockerhub --docker-server= https://registry.hub.docker.com/ 创建了一个名为“dockerhub”的 secret --docker-username=username --docker-password=... --docker-email=... 这是我作为镜像拉取密码提供的。

我正在运行 Kubernetes 1.2.0。

最佳答案

从 Kubernetes YAML 中提取私有(private) DockerHub 托管镜像:

运行这些命令:

DOCKER_REGISTRY_SERVER=docker.io
DOCKER_USER=Type your dockerhub username, same as when you `docker login`
DOCKER_EMAIL=Type your dockerhub email, same as when you `docker login`
DOCKER_PASSWORD=Type your dockerhub pw, same as when you `docker login`

kubectl create secret docker-registry myregistrykey \
  --docker-server=$DOCKER_REGISTRY_SERVER \
  --docker-username=$DOCKER_USER \
  --docker-password=$DOCKER_PASSWORD \
  --docker-email=$DOCKER_EMAIL

如果您在 DockerHub 上的用户名是 DOCKER_USER,并且您的私有(private) repo 名为 PRIVATE_REPO_NAME,并且您要拉取的图像标记为 latest,创建这个 example.yaml 文件:

apiVersion: v1
kind: Pod
metadata:
  name: whatever
spec:
  containers:
    - name: whatever
      image: DOCKER_USER/PRIVATE_REPO_NAME:latest
      imagePullPolicy: Always
      command: [ "echo", "SUCCESS" ]
  imagePullSecrets:
    - name: myregistrykey

然后运行:

kubectl create -f example.yaml

关于docker - 如何从 Vagrant 上的 Kubernetes 访问私有(private) Docker Hub 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232906/

相关文章:

库伯内斯 RBAC : How to allow exec only to a specific Pod created by Deployment

visual-studio - 如何使用 Visual Studio 2019 在 Docker 容器中运行 ASP.NET Core 3.1 项目?

php - Docker-Compose 使用 PHP (MySQLi) 连接 MySQL 数据库

docker - 如何让 docker-compose 在 Windows 上的 docker 生成的 jenkins 管道中工作?

linux - docker容器在启动期间无法在卷挂载中打开符号链接(symbolic link)文件

Kubernetes 领导者选举 - HTTP 服务器响应错误

linux - 当 docker 使用 `/bin/sh -c` 运行 SIGTERM 时,SIGTERM 未到达 Node 脚本

kubernetes - Pod状态如何变为MatchNodeSelector

kubernetes - 有没有办法在 kubernetes 部署(或 statefulset)中为每个 pod 创建一个持久卷?

kubernetes - 如何在alertmanager配置文件中插入 secret