Docker: различия между версиями

Материал из ALT Linux Wiki
Строка 53: Строка 53:
* и другие.
* и другие.


=== Сборка базового образа с использование mkimage-profiles ===
=== Сборка базового образа с использованием mkimage-profiles ===
Rootfs для официального образа собирается из профиля <tt>ve/docker</tt>. Собрать его можно следующей командой.
Rootfs для официального образа собирается из профиля <tt>ve/docker</tt>. Собрать его можно следующей командой.
  $ make ve/docker.tar.xz
  $ make ve/docker.tar.xz

Версия от 15:53, 30 октября 2023

Docker

Инструкция по работе с docker.

Установка

Установить docker можно следующей командой:

# apt-get install docker-engine

В старых репозиториях пакет называется docker-ce:

# apt-get install docker-ce

Для запуска docker от пользователя (не root) следует выполнить несколько шагов:

  1. Добавить пользователя в группу docker;
    # usermod ИМЯ_ПОЛЬЗОВАТЕЛЯ -aG docker
  2. Выполнить повторный вход в систему.

Затем необходимо запустить соответствующую службу:

# systemctl enable --now docker

Запуск и готовые образы

В зависимости от действий на этапе установки команды можно будет запускать от обычного пользователя или от root.

Официальный образ

Официальный образ ALT - это registry.altlinux.org/alt/alt, также его можно получить по ссылке: https://hub.docker.com/_/alt/. Для запуска контейнера достаточно выполнить следующую команду:

docker run --rm -it alt

По умолчанию используется образ из тега latest, который указывает на последний стабильный бранч. Например, сейчас это p10.

Для использования образа sisyphus нужно указать соответствующий тег:

docker run --rm -it alt:sisyphus

Официальный образ доступен для следующих архитектур:

  • amd64
  • arm64v8
  • i386
  • ppc64le

Производные образы

По адресу https://registry.altlinux.org/organization/alt находятся специализированные образы под конкретные задачи, построенные на основе официального образа. Сборка этих образов осуществляется из шаблонов Dockerfile'ов по адресу https://github.com/alt-cloud/image-forge/tree/master/org/alt.

Существуют образы для следующих задач:

  • веб серверы unit, nginx и apache2;
  • хранение конфигурации etcd;
  • интерпретаторы для запуска своих приложений python и ruby;
  • и другие.

Сборка базового образа с использованием mkimage-profiles

Rootfs для официального образа собирается из профиля ve/docker. Собрать его можно следующей командой.

$ make ve/docker.tar.xz

Полученный rootfs нужно собрать, чтобы получить образ. Для этого нужно создать каталог, скопировать в него rootfs и создать Dockerfile со следующим содержимым:

FROM scratch

ADD docker-latest.tar.xz /

RUN true > /etc/security/limits.d/50-defaults.conf

# overwrite this with 'CMD []' in a dependent Dockerfile
CMD ["/bin/bash"]

Затем можно собрать образ:

$ docker build --rm --tag=my-image .

Где my-image - это имя образа.

Rootless

Для запуска docker демона от пользователя можно использовать пакет docker-engine-rootless. Установить его можно следующей командой:

# apt-get install docker-engine-rootless

Далее нужно настроить запуск демона от пользователя:

$ dockerd-rootless-setuptool.sh install.

И экcпортировать переменную DOCKER_HOST:

export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock

Последнюю строку можно добавить, в файл из которого шелл инициализирует переменные, например, в ~/.bash_profile, если используется bash.

Ссылки

Шпаргалка по Docker