Содержание
Работа с изображениями | Rancher Desktop Docs
Rancher Desktop позволяет создавать, передавать и извлекать изображения через
Проект NERDCTL и интерфейс командной строки Docker.
Обратите внимание, как nerdctl
, так и docker
автоматически помещаются в путь. Это происходит во время установки в Windows и при первом запуске в macOS и Linux.
Общее использование
Для использования любого инструмента требуется, чтобы Rancher Desktop работал с соответствующей средой выполнения контейнера. Для nerdctl
, используйте среду выполнения containerd. Для docker
используйте среду выполнения Moby.
Вы можете узнать обо всех параметрах команды и просмотреть справочную документацию, выполнив:
- nerdctl
- docker
nerdctl -h
В отличие от Docker, containerd имеет собственные пространства имен. По умолчанию образы nerdctl хранятся в пространстве имен
по умолчанию
. Если вы хотите, чтобы ваши образы были доступны для использования Kubernetes, используйте --namespace k8s.io
или -n k8s.io
Аргумент CLI. Вы также можете переключиться на пространство имен с именем по умолчанию
или любое другое имя, используя параметр --namespace
. Обратите внимание, что пространства имен nerdctl являются отдельными и независимыми от пространств имен Kubernetes и kubectl
.
Список изображений
Чтобы просмотреть доступные в настоящее время изображения, выполните следующую команду:
- nerdctl
- docker
nerdctl images
Building Images
- nerdctl
- docker
Создание образов похоже на существующие инструменты. Например, рассмотрим
запуск nerdctl
из каталога с Dockerfile
, где находится Dockerfile
с помощью скретч-изображения.
сборка nerdctl .
[+] Сборка 0.1s (4/4) ЗАВЕРШЕНА
=> [внутренняя] загрузка определения сборки из Dockerfile
=> => перенос файла dockerfile: 31B
=> [внутренняя] загрузка .dockerignore
=> => передача контекста: 2B
=> [внутренняя] загрузка контекста сборки
=> => передача контекста: 33B
=> CACHED [1/1] ADD anvil-app /
nerdctl
имеет параметры для пометки одновременно со сборкой и другие параметры, которые вы
приходи ожидать.
nerdctl build -t TAG .
Чтобы создать образ для использования с Kubernetes, укажите пространство имен k8s.io
следующим образом:
nerdctl build -n k8s.io .
Создание локальных образов
Чтобы продемонстрировать шаги по созданию локальных образов и запуску приложений, в репозитории документации Rancher Desktop имеется пример приложения nodejs. Для начала клонируйте репозиторий и перейдите в
assets/express-sample
в терминале.
Выполните следующую команду для сборки образа из Dockerfile:
- nerdctl
- docker
nerdctl --namespace k8s.io build -t expressapp:v1.0 .
Для запуска контейнера выполните следующую команду:
kubectl run --image expressapp:v1.0 expressapp
kubectl port-forward pods/expressapp 3000:3000
не забудьте также указать следующее:
imagePullPolicy: Never
Пометка изображений
Если вы хотите пометить существующее изображение, которое вы создали, вы можете использовать следующее
команда:
- nerdctl
- docker
nerdctl tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Removing Images
To remove an image, run the following command:
- nerdctl
- docker
nerdctl rmi IMAGE