Docker
Docker
Инструкция по работе с docker.
Установка
Установить docker можно следующей командой:
# apt-get install docker-engine
В старых репозиториях пакет называется docker-ce:
# apt-get install docker-ce
Для запуска docker от пользователя (не root) следует выполнить несколько шагов:
-
Добавить пользователя в группу
docker
;# usermod ИМЯ_ПОЛЬЗОВАТЕЛЯ -aG docker
- Выполнить повторный вход в систему.
Затем необходимо запустить соответствующую службу:
# 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.