Docker: различия между версиями
Нет описания правки |
Нет описания правки |
||
(не показано 10 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
= Docker = | = Docker = | ||
Инструкция по работе с docker. | Инструкция по работе с docker.<br> | ||
== Установка == | == Установка == | ||
Строка 8: | Строка 8: | ||
В старых репозиториях пакет называется docker-ce: | В старых репозиториях пакет называется docker-ce: | ||
: <code># apt-get install docker- | : <code># apt-get install docker-ce</code> | ||
Для запуска docker от пользователя (не root) следует выполнить несколько шагов: | Для запуска docker от пользователя (не root) следует выполнить несколько шагов: | ||
Строка 28: | Строка 28: | ||
=== Официальный образ === | === Официальный образ === | ||
Официальный образ ALT можно получить по ссылке: https://hub.docker.com/_/alt/. | Официальный образ ALT - это <code>registry.altlinux.org/alt/alt</code>, также его можно получить по ссылке: https://hub.docker.com/_/alt/. | ||
Для запуска контейнера достаточно выполнить следующую команду: | Для запуска контейнера достаточно выполнить следующую команду: | ||
: <code>docker run --rm -it alt</code> | : <code>docker run --rm -it alt</code> | ||
По умолчанию используется образ из тега <code>latest</code>, который указывает на последний | По умолчанию используется образ из тега <code>latest</code>, который указывает на последний стабильный бранч. Например, сейчас это p10. | ||
Для использования образа sisyphus нужно указать соответствующий тег: | Для использования образа sisyphus нужно указать соответствующий тег: | ||
Строка 44: | Строка 44: | ||
=== Производные образы === | === Производные образы === | ||
По адресу https:// | По адресу https://registry.altlinux.org/organization/alt находятся специализированные образы под конкретные задачи, построенные на основе официального образа. | ||
Сборка этих образов осуществляется из Dockerfile'ов по адресу https://github.com/alt-cloud/ | Сборка этих образов осуществляется из шаблонов Dockerfile'ов по адресу https://github.com/alt-cloud/image-forge/tree/master/org/alt. | ||
Существуют образы для следующих задач: | Существуют образы для следующих задач: | ||
* веб серверы <code>nginx</code> и <code>apache2</code>; | * веб серверы <code>unit</code>, <code>nginx</code> и <code>apache2</code>; | ||
* хранение конфигурации <code>etcd</code>; | * хранение конфигурации <code>etcd</code>; | ||
* интерпретаторы для запуска своих приложений <code>python</code> и <code>ruby</code>; | * интерпретаторы для запуска своих приложений <code>python</code> и <code>ruby</code>; | ||
* и другие. | * и другие. | ||
=== Сборка базового образа с | === Сборка базового образа с использованием mkimage-profiles === | ||
Rootfs для официального образа собирается из профиля <tt>ve/docker</tt>. Собрать его можно следующей командой. | |||
$ 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. | |||
Установить его можно следующей командой: | |||
: <code># apt-get install docker-engine-rootless</code> | |||
Далее нужно настроить запуск демона от пользователя: | |||
: <code>$ dockerd-rootless-setuptool.sh install</code>. | |||
И экcпортировать переменную DOCKER_HOST: | |||
: <code>export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock</code> | |||
Последнюю строку можно добавить, в файл из которого шелл инициализирует переменные, | |||
например, в ~/.bash_profile, если используется bash. | |||
== Ссылки == | |||
[[Docker Reminder|Шпаргалка по Docker]] | |||
<br> | |||
<br> | |||
<br> | |||
[[Category:Виртуализация]] | [[Category:Виртуализация]] | ||
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | ||
[[Категория:EnterpriseApps]] |
Текущая версия от 15:37, 14 ноября 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 - это 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.