Это запутанный аспект Docker. По сути, Kubernetes пытается извлечь изображение из реестра контейнера и (обычно) до тех пор, пока изображение не будет помещено в реестр, его нельзя извлечь.
Когда вы docker [push|pull] ...
взаимодействуете с (удаленный) контейнерный реестр. По умолчанию (если вы его не указали) вы взаимодействуете с DockerHub и можете предположить, что к изображениям (если не указано иное) добавлен префикс DockerHub https://docker.io
. Если вы используете, например, Реестр контейнеров Google, вы будете чаще использовать префиксы хостов, например https://gcr.io
.
Когда вы создаете контейнер на своем хосте, пока вы docker push ...
не создадите изображение, оно не появится в реестр.
Когда вы ссылаетесь на изображение в спецификации | конфигурации Kubernetes, Kubernetes ожидает получить изображение из реестра. В вашем случае, blob-app
отсутствует в реестре, и это приводит к сбою.
Вы можете запустить локальный реестр для решения этой проблемы. Один из способов сделать это - использовать Minikube для ответа @ arghya-sadhu. Но вы также можете запустить Docker образ собственной реализации реестра Docker его спецификации spe c, см. registry .
Или вы можете pu sh ваших изображений в общедоступный реестр, например DockerHub , Реестр контейнеров Google , Quay , а затем сослаться на изображение из реестра, как вы сделали с mysql
. DockerHub имеет распространенный бесплатный уровень, который разрешает как публичные c, так и (ограниченное количество) частные репозитории.