Docker: различия между версиями
W00zy (обсуждение | вклад) м (→Docker: перекрестная ссылка на шпоргалку) |
W00zy (обсуждение | вклад) м (→Ссылки: улучшение читаемости подвала) |
||
Строка 84: | Строка 84: | ||
== Ссылки == | == Ссылки == | ||
[[Docker Reminder|Шпаргалка по Docker]] | [[Docker Reminder|Шпаргалка по Docker]] | ||
<br> | |||
<br> | |||
<br> | |||
[[Category:Виртуализация]] | [[Category:Виртуализация]] | ||
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} |
Версия от 19:40, 23 февраля 2023
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 можно получить по ссылке: 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.