我正在使用 Helm 从 Bitnami 安装自定义 WordPress 图像。无法从 Docker Hub 中的私有存储库中提取图像
I'm installing a custom WordPress image from Bitnami with Helm. Can't pull image from private repository in Docker Hub
我正在尝试在 Minikube 上部署一个带有自定义插件和主题的 WordPress 实例。
首先,我创建了一个基于 Bitnami's Image 的自定义 WordPress Docker 图像。我已将其推送到 Docker Hub 并将存储库设为私有。
现在,我正在尝试使用 Bitnami 的 WordPress Helm Chart 部署映像。为此,我:
在与部署相同的命名空间中创建了一个秘密 regcred
,如 Kubernetes Docs 中所述。
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1 --docker-username =USERNAME --docker-password=PWORD --docker-email=EMAIL
将图表的 values-production.yaml
(here) 更改为以下内容:
.
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
global:
imageRegistry: docker.io
imagePullSecrets:
- regcred
# storageClass: myStorageClass
## Bitnami WordPress image version
## ref: https://hub.docker.com/r/bitnami/wordpress/tags/
##
image:
registry: docker.io
repository: MYUSERNAME/PRIVATEIMAGE
tag: latest
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
pullSecrets:
- regcred
## Set to true if you would like to see extra information on logs
##
debug: true
...
我认为 pod 应该能够拉取私有存储库,但它永远做不到。它的状态停留在 Waiting: ImagePullBackOff
我做错了吗?我正在关注 this tutorial,顺便说一句。另外,我 运行 在我的 Windows 10 到 WSL2(Ubuntu 发行版)。
你好 Gonçalo Figueiredo,
重现这个问题,当我使用 kubectl create secret docker-registry
并将图表部署在我的 linux 虚拟机中的 GKE 集群中时,它工作得很好。
当我尝试在本地机器上使用 Minikube 时,我确实遇到了 ImagePullBackOff
错误。问题是我最近更改了我的 dockerHub 密码并且我主机中的凭据已过时。做一个新的 docker login
解决了这个问题。
不确定您这边是否会发生类似的事情。如果没有,能否请您检查您的私有存储库是否已启动并尝试使用其他方法创建包含 Docker 凭据的 Secret?
找到解决方案。我只需要将秘密中的服务器 属性 从 https://index.docker.io/v1
更改为 docker.io
。
我现在面临另一个问题,但我认为这个问题已经解决了。
我正在尝试在 Minikube 上部署一个带有自定义插件和主题的 WordPress 实例。
首先,我创建了一个基于 Bitnami's Image 的自定义 WordPress Docker 图像。我已将其推送到 Docker Hub 并将存储库设为私有。
现在,我正在尝试使用 Bitnami 的 WordPress Helm Chart 部署映像。为此,我:
在与部署相同的命名空间中创建了一个秘密
regcred
,如 Kubernetes Docs 中所述。kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1 --docker-username =USERNAME --docker-password=PWORD --docker-email=EMAIL
将图表的
values-production.yaml
(here) 更改为以下内容:
.
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
global:
imageRegistry: docker.io
imagePullSecrets:
- regcred
# storageClass: myStorageClass
## Bitnami WordPress image version
## ref: https://hub.docker.com/r/bitnami/wordpress/tags/
##
image:
registry: docker.io
repository: MYUSERNAME/PRIVATEIMAGE
tag: latest
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
pullSecrets:
- regcred
## Set to true if you would like to see extra information on logs
##
debug: true
...
我认为 pod 应该能够拉取私有存储库,但它永远做不到。它的状态停留在 Waiting: ImagePullBackOff
我做错了吗?我正在关注 this tutorial,顺便说一句。另外,我 运行 在我的 Windows 10 到 WSL2(Ubuntu 发行版)。
你好 Gonçalo Figueiredo,
重现这个问题,当我使用 kubectl create secret docker-registry
并将图表部署在我的 linux 虚拟机中的 GKE 集群中时,它工作得很好。
当我尝试在本地机器上使用 Minikube 时,我确实遇到了 ImagePullBackOff
错误。问题是我最近更改了我的 dockerHub 密码并且我主机中的凭据已过时。做一个新的 docker login
解决了这个问题。
不确定您这边是否会发生类似的事情。如果没有,能否请您检查您的私有存储库是否已启动并尝试使用其他方法创建包含 Docker 凭据的 Secret?
找到解决方案。我只需要将秘密中的服务器 属性 从 https://index.docker.io/v1
更改为 docker.io
。
我现在面临另一个问题,但我认为这个问题已经解决了。