Упражнение. Отправка образа микрослужбы в Docker Hub
Чтобы Kubernetes создавал образ контейнера, он должен быть местом для получения. Docker Hub — это центральное расположение для отправки образов Docker. Многие продукты, включая Kubernetes, могут создавать контейнеры на основе образов в Docker Hub.
Примечание.
Это упражнение будет выполнено в GitHub Codespace с предварительно установленной программой Docker и пакетом SDK для .NET. При использовании этих методов в собственной среде разработки убедитесь, что установлены эти предварительные требования.
Открытие среды разработки
Вы можете использовать пространство кода GitHub, в котором размещено упражнение, или выполнить упражнение локально в Visual Studio Code.
Чтобы использовать пространство кода, создайте предварительно настроенное пространство GitHub Codespace с помощью этой ссылки на создание Codespace.
Процесс занимает несколько минут, пока GitHub создает и настраивает пространство кода. После завершения код, используемый для остальной части этого модуля, находится в каталоге /dotnet-kubernetes .
Чтобы использовать Visual Studio Code, клонируйте репозиторий https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative на локальный компьютер. Затем:
- Установите все системные требования для запуска контейнера разработки в Visual Studio Code.
- Убедитесь, что Docker запущен.
- В новом окне Visual Studio Code откройте папку клонированного репозитория.
- Нажмите клавиши CTRL SHIFT++P, чтобы открыть палитру команд.
- Поиск: контейнеры разработки: >перестроение и повторное открытие в контейнере
- Выберите eShopLite — dotnet-kubernetes в раскрывающемся списке. Visual Studio Code создает контейнер разработки локально.
Проверка образов Docker путем создания контейнеров в пространстве кода
В проекте Contoso Shop существует два контейнера. Прежде чем отправлять образы в Docker Hub, давайте создадим их для создания контейнеров в пространстве кода. После создания и запуска контейнеров мы сможем просмотреть веб-сайт компании Contoso и убедиться, что микрослужбы выполняются ОК.
Выполните следующие действия, чтобы создать и запустить контейнеры Docker в пространстве кода.
Перейдите на вкладку ТЕРМИНАЛА и выполните следующую команду, чтобы перейти в корень кода:
cd dotnet-kubernetes
Выполните следующую команду, чтобы создать контейнеры:
dotnet publish /p:PublishProfile=DefaultContainer
Для сборки контейнеров может потребоваться некоторое время.
Выполните следующую команду, чтобы запустить приложение и подключить контейнеры:
docker compose up
Чтобы проверить интерфейсную службу, перейдите на вкладку "ПОРТЫ ", а затем справа от локального адреса порта переднего плана выберите значок глобуса. В браузере отображается домашняя страница.
Выберите Продукты. В каталоге отображаются товары Компании Contoso.
Закройте веб-сайт, вернитесь на вкладку ТЕРМИНАЛА и нажмите клавиши CTRL + C. Docker
compose
останавливает контейнеры.
Вход в Docker Hub
Следующий шаг при отправке образов в Docker Hub — вход в Docker Hub. В командной строке введите следующую команду:
docker login
Внимание
Используйте то же имя пользователя и пароль, что и при создании учетной записи Docker. При необходимости вы можете перейти на веб-сайт Docker Hub, чтобы сбросить пароль.
Загрузка образов в Docker Hub
Введите следующий код для повторного тега или переименования образов Docker, созданных под именем пользователя Docker.
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
Наконец, отправьте образ Docker в Docker Hub.
docker push [YOUR DOCKER USER NAME]/storeimage docker push [YOUR DOCKER USER NAME]/productservice
Если вы получаете ошибку проверки подлинности, за ним
docker login
можно выполнитьdocker logout
повторную проверку подлинности.
В этом упражнении вы использовали Dockerfiles и Docker Compose для создания двух образов и контейнеров Docker и отправки этих образов в Docker Hub.
Теперь вы готовы использовать Kubernetes для управления развертыванием микрослужб Contoso.