Добрый день. Из описания не понятно где, что и как вы делаете. Поиграем в угадайку:
1) minikube:
Заходим в minikube shell и там что-то делать со встроенным докером и там работать с образами. Как-то так:
host$ docker run -d nginx:latest
host$ docker exec -it <container> /bin/sh
container$ # hack, hack, hack...
container$ exit
host$ docker commit <container> <yuour-image-name:and-tag-here>
После этого вы можете использовать новый образ в minikube, где производили изменения. Помните, что minikube отличается от реального k8s кластера.
2) k8s cloud или baremetal
Тут для своих образов нужно создавать собственный registry. Поднимать его лучше всего отдельно, чтобы при создании нового кластера не собирать все версии ваших docker images (иначе где он возьмёт эти образы?).
Допустим есть какой-то приватный registry доступом по логину и паролю. Для его использования нужно создать секрет в k8s с конфигурацией, которая хранит нужную пару логина и пароля.
apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: <configuration>
metadata:
name: registry-secret
Как сделать, читаем
тут
Далее мы можем использовать приватный registry примерно так:
# ...
spec:
imagePullSecrets:
- name: registry-secret
# ...
containers:
- name: php
image: <private-registry-domain>/<image-name:tag-here>
Так же можно сделать авторизацию по ключам, но это уже другая история, которая потянет на статью на хабре.