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

Материал из ALT Linux Wiki
м (→‎Docker: перекрестная ссылка на шпоргалку)
Строка 1: Строка 1:
= Docker =
= Docker =


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


== Установка ==
== Установка ==
Строка 81: Строка 81:
Последнюю строку можно добавить, в файл из которого шелл инициализирует переменные,
Последнюю строку можно добавить, в файл из которого шелл инициализирует переменные,
например, в ~/.bash_profile, если используется bash.
например, в ~/.bash_profile, если используется bash.
== Ссылки ==
[[Docker Reminder|Шпаргалка по Docker]]


[[Category:Виртуализация]]
[[Category:Виртуализация]]
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}

Версия от 18:57, 23 февраля 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 можно получить по ссылке: https://hub.docker.com/_/alt/. Для запуска контейнера достаточно выполнить следующую команду:

docker run --rm -it alt

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

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

docker run --rm -it alt:sisyphus

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

  • amd64
  • arm64v8
  • i386
  • ppc64le

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

По адресу https://hub.docker.com/u/altcloud/ находятся специализированные образы под конкретные задачи, построенные на основе официального образа. Сборка этих образов осуществляется из Dockerfile'ов по адресу https://github.com/alt-cloud/ALT-Dockerfiles/tree/sisyphus.

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

  • веб серверы 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