2.9.16.1 Установка и настройка docker
Скачать документ Установка docker
Доступ к среде контейнеризации
Команды docker
Настройка зеркал общедоступного хранилища образов Docker Hub
Реестр образов РЕД ОС
Базовые образы
Настройка собственного локального реестра docker-образов
Установка и настройка локального реестра docker-образов из репозитория РЕД ОС
Настройка локального реестра образов путем создания контейнера в docker
Загрузка docker-образов в локальный реестр
Настройка контейнеров для автоматического запуска в systemd
Установка Portainer
Установка Portainer из репозитория РЕД ОС
Установка Portainer путем создания контейнера в Docker
Автоматизированное создание контейнера
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: docker-ce-4:20.10.24-1, docker-ce-cli-1:20.10.24-1, registry-2.8.2-1, portainer-ce-2.18.3-2
Docker — программное обеспечение для автоматизации развертывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет "упаковать" приложение со всем его окружением и зависимостями в контейнер, который может быть развернут на любой Linux-подобной системе с поддержкой контрольных групп в ядре, а также предоставляет набор команд для управления этими контейнерами.
Установка docker
Для установки средства контейнеризации необходимо выполнить команду (потребуются права администратора):
dnf install docker-ce docker-ce-cli
После успешной установки необходимо запустить сервис контейнеризации docker и добавить его в автозагрузку:
systemctl enable docker --now
Убедитесь, что сервис запущен, проверив статус запущенной службы:
systemctl status docker
В статусе должно быть отображено active (running).
Для получения информации об установленном docker выполните команду:
docker info
При корректной настройке будет получен соответствующий ответ от сервиса Docker.
Доступ к среде контейнеризации
По умолчанию доступ к среде контейнеризации и запуску сервисов имеет только суперпользователь. Демон docker подключается к сокету Unix, к которому также имеет доступ только суперпользователь.
Для использования и управления средой контейнеризации обычным пользователем необходимо добавить его в отдельную группу, пользователям которой будет разрешено выполнять необходимые манипуляции. Такая группа создается в процессе установки среды контейнеризации и имеет название docker
.
Добавьте необходимого пользователя в группу docker командой:
usermod -aG docker <имя_пользователя>
Проверить назначенные права можно, выполнив загрузку тестового образа с правами обычного пользователя:
docker info
При корректной настройке будет получен соответствующий ответ от сервиса Docker.
Команды docker
Часто используемые команды (аргументы команд для краткости не указаны):
Команда | Краткое описание |
docker attach | Подключить стандартные каналы ввода-вывода (stdin, stdout, stderr) к активному контейнеру. |
docker build | Построить Docker-образ из Docker-файла. |
docker builder | Управление модулем построения Docker-образов. |
docker commit | Создание нового Docker-образа из активного контейнера. |
docker config | Управление конфигурациями Docker. |
docker container | Управление контейнерами:
|
docker context | Управление контекстами Docker. |
docker cp | Копирование файлов или каталогов между локальной файловой системой и файловой системой контейнера. |
docker create | Создать новый изменяемый слой в указанном контейнере. |
docker diff | Вывести список файлов и каталогов, изменённых с момента создания контейнера. |
docker events | Вывести событий, произошедших с различными объектами Docker. |
docker exec | Выполнить команду в активном контейнере. |
docker export | Экспортировать файловую систему контейнера как архив формата tar. |
docker history | Показать историю образа |
docker image | Управление образами:
|
docker images | Вывести список образов верхнего уровня. |
docker import | Cоздать файловую систему образа из архива. |
docker info | Вывод системной информации. |
docker inspect | Вывод подробной информации об объектах Docker. |
docker kill | Принудительно деактивировать активный контейнер (контейнеры). |
docker load | Загрузить образ из архива tar или из стандартного ввода. |
docker login | Войти в реестр образов. |
docker logout | Выйти из реестра образов. |
docker logs | Извлечь журналы контейнера. |
docker manifest | Управление манифестами и списками манифестов Docker. |
docker network | Управление сетями. |
docker node | Управление узлами кластеров Docker. |
docker pause | Приостановить все процессы в активном контейнере (контейнерах). |
docker plugin | Управление плагинами. |
docker port | Вывести список отображения портов контейнера. |
docker ps | Вывести список активных контейнеров. |
docker pull | Загрузить образ на локальный компьютер из реестра образов. |
docker push | Загрузить образ с локального компьютера в реестр образов. |
docker rename | Переименовать контейнер. |
docker restart | Перезапустить контейнер (контейнеры). |
docker rm | Удалить контейнер (контейнеры). |
docker rmi | Удалить образ (образы). |
docker run | Выполнить команду в новом контейнере, то есть: создать в существующем образе новый изменяемый слой, и выполнить команду, сохраняя изменения в этом слое.
|
docker save | Сохранить образ (образы) в архиве tar (через стандартный вывод по умолчанию). |
docker search | Поиск образов Docker в сети Интернет. |
docker secret | Управление паролями кластеров Docker. |
docker service | Управление сервисами кластеров Docker. |
docker stack | Управление стеками. |
docker start | Запустить контейнер (контейнеры). |
docker stats | Отобразить в режиме реального времени статистику потребления ресурсов контейнером. |
docker stop | Остановить активный контейнер (контейнеры). |
docker swarm | Управление кластерами Docker. |
docker system | Управление службой Docker. |
docker tag | Создать тег (метку) образа, ссылающийся на существующий образ. |
docker top | Вывести список процессов активного контейнера. |
docker trust | Управление ключами и подписями образов. |
docker unpause | Продолжить выполнение приостановленного активного контейнера (контейнеров). |
docker update | Обновить конфигурацию контейнера (контейнеров). |
docker version | Отобразить версию Docker. |
docker volume | Управление томами хранения данных для контейнеров. |
docker wait | Ожидание завершения работы контейнера (контейнеров) и вывод кодов завершения. |
Настройка зеркал общедоступного хранилища образов Docker Hub
При возникновении проблем с обращением к образам из общедоступного хранилища Docker Hub для обеспечения возможности продолжения корректной работы с образами рекомендуется настроить подготовленные зеркала.
Для настройки обращения docker к определенному зеркалу необходимо выполнить следующий алгоритм действий:
1а. В файл /etc/docker/daemon.json добавить строку вида:
"registry-mirrors": ["<адрес_зеркала>"]
где <адрес_зеркала> – адрес настроенного зеркала хранилища образов.
Например:
"registry-mirrors": ["https://mirror.gcr.io/"]
где https://mirror.gcr.io/ – публичное зеркало хранилища образов Docker Hub от компании Google.
1б. Если файл /etc/docker/daemon.json пуст или не существует, внести строки вида:
{
"registry-mirrors": ["<адрес_зеркала>"]
}
где <адрес_зеркала> – адрес настроенного зеркала хранилища образов.
Например:
{
"registry-mirrors": ["https://mirror.gcr.io/"]
}
где https://mirror.gcr.io/ – публичное зеркало хранилища образов Docker Hub от компании Google.
2. Перезапустить службу docker:
systemctl daemon-reload systemctl restart docker
Реестр образов РЕД ОС
На пакетной базе РЕД ОС разработан ряд docker-образов и создан собственный реестр docker-образов — registry.red-soft.ru/ubi7.
Для получения списка доступных образов в реестре необходимо выполнить:
docker search registry.red-soft.ru/ubi7
Для установки требуемого образа из реестра необходимо выполнить:
docker pull registry.red-soft.ru/ubi7/<название_образа>
Базовые образы
Универсальные базовые образы (UBI) — это легковесная и безопасная основа для создания облачных и веб-приложений в контейнерах. На основе UBI можно создавать свои контейнерные приложения и собственные образы.
В реестре образов РЕД ОС на данный момент доступны следующие базовые образы:
ubi – "урезанный образ", который использует dnf в качестве менеджера пакетов;
ubi-minimal – еще более "урезанный" образ, который использует microdnf в качестве менеджера пакетов;
ubi-micro – максимально "урезанный" образ, в котором отсутствует собственный менеджер пакетов. Для установки пакетов используется менеджер пакетов хостовой ОС, на котором разворачивается образ.
Также в реестре образов доступны образы типа S2I (Source-to-Image).
S2I — это процесс сборки для создания воспроизводимых образов контейнеров из исходного кода. S2I создает готовые к использованию образы на основе исходных кодов приложений, которые, в свою очередь, могут запускаться в виде собранного приложения.
В реестре образов РЕД ОС доступны следующие образы S2I:
s2i-core — предоставляет образам инструменты, необходимые для использования функциональности source-to-image, сохраняя при этом минимальный размер образа;
s2i-base — основан на s2i-core, предоставляет образам инструменты, необходимые для использования функциональности source-to-image, а также содержит различные библиотеки, которые служат основой для создания других s2i-образов — таких как s2i-python, s2i-ruby, s2i-nodejs и прочих.
Настройка собственного локального реестра docker-образов
В централизованном хранилище хранятся доступные docker-образы.
Одним из примеров общедоступных хранилищ образов является Docker Hub, по умолчанию Docker настроен на поиск образов в нем. Также есть возможность настройки своего собственного хранилища.
При использовании команд docker pull
или docker run
требуемые образы будут извлекаться из настроенного хранилища. Когда используется команда docker push
, образ помещается в настроенное хранилище образов.
Установка и настройка локального реестра docker-образов из репозитория РЕД ОС
Для установки локального реестра docker-образов из репозитория РЕД ОС выполните команду:
dnf install registry
Запустите службу registry:
systemctl enable registry.service --now
Убедитесь, что служба активна, выполнив:
systemctl status registry.service
В статусе должно быть указано active(running).
Необходимо настроить демон docker на обращение к приватному реестру образов. Для этого добавьте в файл /etc/docker/daemon.json следующую строку:
"insecure-registries": ["127.0.0.1:5000"],
Локальный реестр docker-образов готов к использованию. Для проверки корректности настройки локального реестра см. п. «Загрузка docker-образов в локальный реестр».
Настройка локального реестра образов путем создания контейнера в docker
Для настройки локального хранилища образов путем использования контейнеров в реестре docker-образов РЕД СОФТ предоставлен образ registry.red-soft.ru/ubi7/registry, являющийся реализацией инструмента хранения и обмена образами Docker Registry.
Для создания локального хранилища образов запустите контейнер на основе образа registry.red-soft.ru/ubi7/registry командой:
docker run -d -p 5000:5000 --restart=always --name test_reg_2 registry.red-soft.ru/ubi7/registry:latest
где:
-p 5000:5000
— порт для обращения к реестру по умолчанию;--restart=always
— автоматический запуск контейнера после перезапуска хостовой ОС;--name test_reg_2
— имя контейнера;registry.red-soft.ru/ubi7/registry:latest
— необходимый образ.
Локальный реестр образов готов к использованию. Для проверки корректности настройки локального реестра см. п. «Загрузка docker-образов в локальный реестр».
Изменение расположения хранилища образов
Локальное хранилище образов является контейнером и хранит образы внутри себя в каталоге /var/lib/registry. Однако при переустановке контейнера все данные внутри него будут уничтожены. Для избежания потери данных к контейнеру необходимо подключить внешнее хранилище данных.
Для этого на хостовой ОС сначала следует создать каталог, предназначенный для хранения образов:
mkdir /reg_images
Далее необходимо остановить и уничтожить имеющийся контейнер с локальным хранилищем:
docker container stop test_reg_2 && docker container rm -v test_reg_2
После этого следует запустить контейнер снова с дополнительным ключом, который отвечает за подключение к нему ранее созданного каталога:
docker run -d -p 5000:5000 --restart=always --name test_reg_2 -v /reg_images:/var/lib/registry registry.red-soft.ru/ubi7/registry:latest
где:
-p 5000:5000
— порт для обращения к реестру по умолчанию;--restart=always
— автоматический запуск контейнера после перезапуска хостовой ОС;--name test_reg_2
— имя контейнера;-v /reg_images:/var/lib/registry
— подключение каталога /reg_images к контейнеру в качестве каталога /var/lib/registry;registry.red-soft.ru/ubi7/registry:latest
— необходимый образ.
Для проверки корректности настройки локального хранилища образов в качестве примера будет загружен образ nodejs-18 из реестра образов РЕД СОФТ registry.red-soft.ru/ubi7:
docker pull registry.red-soft.ru/ubi7/nodejs-18
Далее будет добавлен тег к загруженному образу:
docker tag registry.red-soft.ru/ubi7/nodejs-18 localhost:5000/js18_test:latest
Затем образ загружается в локальное хранилище:
docker push localhost:5000/js18_test:latest
The push refers to repository [localhost:5000/js18_test]
0932ece797fa: Pushed
6512634988ef: Pushed
526374a3d4d5: Pushed
latest: digest: sha256:fe07d0235d269961ba25f5853809ff81807f52d0aa75a77e51899a540975a675 size: 954
Проверка наличия загруженного образа в созданном каталоге /reg_images:
ls /reg_images/docker/registry/v2/repositories/ js18_test
Локальное хранилище с подключенным внешним каталогом успешно работает.
Загрузка docker-образов в локальный реестр
Для загрузки образа docker в локальное хранилище необходимо сперва создать тег образа, ссылающийся на существующий образ (в примере использован образ ubi-minimal из реестра образов РЕД СОФТ registry.red-soft.ru/ubi7), командой:
docker tag registry.red-soft.ru/ubi7/ubi-minimal localhost:5000/test_reg
где:
registry.red-soft.ru/ubi7/ubi-minimal
— имеющийся образ docker;localhost
— имя или IP-адрес хостовой ОС;5000
— порт для обращения к реестру по умолчанию;test_reg
— новое имя образа.
Убедитесь, что тег образа был успешно создан:
docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5000/test_reg latest 60d2a5f5b971 24 hours ago 102MB registry.red-soft.ru/ubi7/ubi-minimal latest 60d2a5f5b971 24 hours ago 102MB
После этого образ можно загрузить в локальное хранилище командой:
docker push localhost:5000/test_reg:latest
Ответ команды должен выглядеть примерно следующим образом:
The push refers to repository [localhost:5000/test_reg] 00983af53c2c: Pushed latest: digest: sha256:fde90838c647d829131f124a6d87801ac28c2a05619efff983dde04e1d6c16c3 size: 529
В корректности загрузки docker-образов в локальный реестр можно убедиться, удалив имеющиеся образы из docker (следующие команды удаляют образы из docker, но не затрагивают образы в локальном реестре):
docker image remove registry.red-soft.ru/ubi7/ubi-minimal Untagged: registry.red-soft.ru/ubi7/ubi-minimal:latest Untagged: registry.red-soft.ru/ubi7/ubi-minimal@sha256:fde90838c647d829131f124a6d87801ac28c2a05619efff983dde04e1d6c16c3 docker image remove localhost:5000/test_reg Untagged: localhost:5000/test_reg:latest Untagged: localhost:5000/test_reg@sha256:fde90838c647d829131f124a6d87801ac28c2a05619efff983dde04e1d6c16c3 Deleted: sha256:60d2a5f5b971ce5a1938d692175ece7416e148394f0d3987c9ff7e80b88e3e66 Deleted: sha256:00983af53c2c493b01c7f747c4197794c6250140357fba2cfbc0fb0c312162c0 docker images REPOSITORY TAG IMAGE ID CREATED SIZE
При загрузке docker-образов в локальный реестр, настроенный как контейнер docker, установленный образ registry.red-soft.ru/ubi7/registry удалять не нужно!
После этого загрузите образ из локального реестра командой:
docker pull localhost:5000/test_reg Using default tag: latest latest: Pulling from test_reg ebc434fd7dc8: Pull complete Digest: sha256:fde90838c647d829131f124a6d87801ac28c2a05619efff983dde04e1d6c16c3 Status: Downloaded newer image for localhost:5000/test_reg:latest localhost:5000/test_reg:latest docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5000/test_reg latest 60d2a5f5b971 24 hours ago 102MB
Локальный реестр образов работает корректно.
Настройка контейнеров для автоматического запуска в systemd
Бывают ситуации, когда контейнеры могут быть остановлены вследствие определенных факторов. Для того чтобы остановленные контейнеры не приходилось запускать вручную, можно использовать настройку их автоматического запуска.
Далее будет рассмотрен пример настройки автоматического запуска локального реестра registry, настроенного как контейнер с именем test_reg_systemd и внешним каталогом для хранения образов /reg_images_sys.
Настройка автоматического запуска контейнера через службу systemd актуальна только в тех случаях, когда при запуске контейнера командой docker run
не была использована опция --restart=always
.
Предварительно был создан внешний каталог для хранения образов /reg_images_sys и запущен контейнер с локальным хранилищем следующими командами:
mkdir /reg_images_sys docker run -d -p 5000:5000 --name test_reg_systemd -v /reg_images_sys:/var/lib/registry registry.red-soft.ru/ubi7/registry:latest
После запуска контейнера registry необходимо создать файл настройки для службы systemd со следующим содержимым:
nano /etc/systemd/system/registry.service
[Unit]
Description=registry container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a test_reg_systemd
ExecStop=/usr/bin/docker stop -t 15 test_reg_systemd
TimeoutSec=30
[Install]
WantedBy=multi-user.target
Сохраните изменения в файле и закройте его.
После этого необходимо запустить настроенную службу и добавить ее в автозагрузку командой:
systemctl enable registry.service --now
Проверьте статус службы:
systemctl status registry.service
В статусе должно быть указано active(running).
После перезагрузки хостовой ОС проверьте статус контейнера командой:
docker ps -a
В графе STATUS должно отображаться Up:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5cee2dc6e925 registry.red-soft.ru/ubi7/registry:latest "entrypoint.sh /etc/…" 20 minutes ago Up 49 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp test_reg_systemd
Установка Portainer
Установка Portainer доступна как из репозитория РЕД ОС, так и с помощью docker путем создания контейнера portainer.
Установка Portainer из репозитория РЕД ОС
Для установки portainer из репозитория РЕД ОС выполните команду (потребуются права администратора):
dnf install portainer-ce
Запустите службу portainer:
systemctl enable portainer.service --now
Убедитесь, что служба активна, выполнив:
systemctl status portainer.service
В статусе должно быть указано active(running).
Для корректной работы в Portainer должен быть установлен и активен docker.
Получить доступ к Portainer можно через веб-интерфейс на порту 9443. Для этого в адресной строке браузера пропишите https://localhost:9443.
Будет открыта страница с веб-интерфейсом portainer и формой для создания пользователя, под которым будет производиться вход в систему.
В форме необходимо задать сложный пароль длиной не менее 12 символов.
После того, как имя пользователя и пароль заданы, следует нажать «Create user».
Далее будет открыта приветственная страница, где нужно выбрать «Get started», после чего откроется панель управления, где будет отображено локальное окружение, в котором хранятся установленные контейнеры.
На вкладке «Containers» представлены все доступные контейнеры. При выборе контейнера будет открыта страница с подробными сведениями.
Установка Portainer путем создания контейнера в Docker
Для развертывания контейнера с Portainer необходимо сначала создать хранилище данных командой:
docker volume create portainer_data
Затем для установки и запуска контейнера следует выполнить команду:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/var/lib/portainer/data registry.red-soft.ru/ubi7/portainer
Получить доступ к Portainer можно через веб-интерфейс на порту 9000. Для этого в адресной строке браузера пропишите https://localhost:9000. Будет открыта страница с веб-интерфейсом portainer. Подробнее о веб-интерфейсе portainer см. выше.
Автоматизированное создание контейнера
Для автоматизированного создания контейнера необходимо создать скрипт со следующим содержимым:
#!/usr/bin/env bash # # Create a base RedOS Docker image. # # This script is useful on systems with yum installed (e.g., building # a RedOS image on RedOS). ### version is 7.3 set -e usage() { cat << EOOPTS $(basename $0) [OPTIONS] OPTIONS: -p "" The list of packages to install in the container. The default is blank. Can use multiple times. -g "" The groups of packages to install in the container. The default is "Core". Can use multiple times. -y The path to the yum config to install packages from. The default is /etc/yum.conf for Redos 7.1/7.2 and /etc/dnf/dnf.conf for Redos 7.3 -t Specify Tag information. default is referred at /etc/{redos,system}-release EOOPTS exit 1 } # option defaults yum_config=/etc/yum.conf if [ -f /etc/dnf/dnf.conf ] && command -v dnf &> /dev/null; then yum_config=/etc/dnf/dnf.conf alias yum=dnf fi # for names with spaces, use double quotes (") as install_groups=('Core' '"Compute Node"') install_groups=() install_packages=() version= while getopts ":y:p:g:t:h" opt; do case $opt in y) yum_config=$OPTARG ;; h) usage ;; p) install_packages+=("$OPTARG") ;; g) install_groups+=("$OPTARG") ;; t) version="$OPTARG" ;; \?) echo "Invalid option: -$OPTARG" usage ;; esac done shift $((OPTIND - 1)) name=$1 if [[ -z $name ]]; then usage fi # default to Core group if not specified otherwise if [ ${#install_groups[*]} -eq 0 ]; then install_groups=('Core') fi target=$(mktemp -d --tmpdir $(basename $0).XXXXXX) set -x mkdir -m 755 "$target"/dev mknod -m 600 "$target"/dev/console c 5 1 mknod -m 600 "$target"/dev/initctl p mknod -m 666 "$target"/dev/full c 1 7 mknod -m 666 "$target"/dev/null c 1 3 mknod -m 666 "$target"/dev/ptmx c 5 2 mknod -m 666 "$target"/dev/random c 1 8 mknod -m 666 "$target"/dev/tty c 5 0 mknod -m 666 "$target"/dev/tty0 c 4 0 mknod -m 666 "$target"/dev/urandom c 1 9 mknod -m 666 "$target"/dev/zero c 1 5 # amazon linux yum will fail without vars set if [ -d /etc/yum/vars ]; then mkdir -p -m 755 "$target"/etc/yum cp -a /etc/yum/vars "$target"/etc/yum/ fi if [[ -n "$install_groups" ]]; then yum -c "$yum_config" --installroot="$target" --releasever=/ --setopt=tsflags=nodocs \ --setopt=group_package_types=mandatory -y groupinstall "${install_groups[@]}" fi if [[ -n "$install_packages" ]]; then yum -c "$yum_config" --installroot="$target" --releasever=/ --setopt=tsflags=nodocs \ --setopt=group_package_types=mandatory -y install "${install_packages[@]}" fi yum -c "$yum_config" --installroot="$target" -y clean all cat > "$target"/etc/sysconfig/network << EOF NETWORKING=yes HOSTNAME=localhost.localdomain EOF # effectively: febootstrap-minimize --keep-zoneinfo --keep-rpmdb --keep-services "$target". # locales rm -rf "$target"/usr/{{lib,share}/locale,{lib,lib64}/gconv,bin/localedef,sbin/build-locale-archive} # docs and man pages rm -rf "$target"/usr/share/{man,doc,info,gnome/help} # cracklib rm -rf "$target"/usr/share/cracklib # i18n rm -rf "$target"/usr/share/i18n # yum cache rm -rf "$target"/var/cache/yum mkdir -p --mode=0755 "$target"/var/cache/yum # sln rm -rf "$target"/sbin/sln # ldconfig rm -rf "$target"/etc/ld.so.cache "$target"/var/cache/ldconfig mkdir -p --mode=0755 "$target"/var/cache/ldconfig if [ -z "$version" ]; then for file in "$target"/etc/{redos,system}-release; do if [ -r "$file" ]; then version="$(sed 's/^[^0-9\]*\([0-9.]\+\).*$/\1/' "$file")" break fi done fi if [ -z "$version" ]; then echo >&2 "warning: cannot autodetect OS version, using '$name' as tag" version=$name fi tar --numeric-owner -c -C "$target" . | docker import - $name:$version docker run -i -t --rm $name:$version /bin/bash -c 'echo success' rm -rf "$target"
Затем необходимо предоставить скрипту права на исполнение командой:
chmod +x ./create_minimal_image_moby.sh
При запуске скрипта будет выдан краткий мануал по его использованию:
./create_minimal_image_moby.sh create_minimal_image_moby.sh [OPTIONS] <name> OPTIONS: -p "<packages>" The list of packages to install in the container. The default is blank. Can use multiple times. -g "<groups>" The groups of packages to install in the container. The default is "Core". Can use multiple times. -y <yumconf> The path to the yum config to install packages from. The default is /etc/yum.conf for Redos 7.1/7.2 and /etc/dnf/dnf.conf for Redos 7.3 -t <tag> Specify Tag information. default is referred at /etc/{redos,system}-release
Вы можете указать дополнительные опции, как описано выше, или указать только имя контейнера, который требуется создать.
Пример:
./create_minimal_image_moby.sh ro73
В результате выполнения данный образ станет доступен при просмотре имеющихся образов:
docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE ro73 7.3.2 ca3c44d23c7c 10 seconds ago 396MB registry.red-soft.ru/ubi7/ubi-minimal latest ce2ca5ca47d4 4 weeks ago 102MB
registry.red-soft.ru/ubi7 latest 4e5d2ab41464 4 weeks ago 242MB
...
Дата последнего изменения: 03.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.