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

Материал из ALT Linux Wiki
м (Правки орфографии)
Нет описания правки
(не показаны 3 промежуточные версии 1 участника)
Строка 11: Строка 11:
<li>
<li>
Добавить пользователя в группу <code>docker</code>;
Добавить пользователя в группу <code>docker</code>;
: <code># gpasswd docker -a ИМЯ_ПОЛЬЗОВАТЕЛЯ</code>
: <code># usermod ИМЯ_ПОЛЬЗОВАТЕЛЯ -aG docker</code>
</li>
</li>
<li>
<li>
Строка 19: Строка 19:


Затем необходимо запустить соответствующую службу:
Затем необходимо запустить соответствующую службу:
: <code># systemctl start docker</code>
: <code># systemctl enable --now docker</code>
: <code># systemctl enable docker</code>


== Запуск и Образы ==
== Запуск и Образы ==
Строка 30: Строка 29:
: <code>docker run --rm -it alt</code>
: <code>docker run --rm -it alt</code>


По умолчанию используется образ из тега <code>latest</code>, который указывает на последний выпущенный стабильный дистрибутив. Например, сейчас это p8, а с выходом p9 станет p9.
По умолчанию используется образ из тега <code>latest</code>, который указывает на последний выпущенный стабильный дистрибутив. Например, сейчас это p9.


Для использования образа sisyphus нужно указать соответствующий тег:
Для использования образа sisyphus нужно указать соответствующий тег:
: <code>docker run --rm -it alt:sisyphus</code>
: <code>docker run --rm -it alt:sisyphus</code>
Официальный образ доступен для следующих архитектур:
* amd64
* arm64v8
* i386
* ppc64le


=== Производные образы ===
=== Производные образы ===
Строка 45: Строка 50:
* и другие.
* и другие.


 
=== Запуск на Sisyphus ===
При использовании Sisyphus с настройками по умолчанию запуск docker завершится с ошибкой
: <code> docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.</code>
Это происходит потому, что текущая версия docker еще не поддерживает cgroups v2. В качестве временного объезда предлагается в параметры ядра добавить следующую строчку
: <code>systemd.unified_cgroup_hierarchy=0</code>


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

Версия от 10:44, 21 октября 2020

Docker

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

Установка

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

# apt-get install docker-ce

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

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

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

# systemctl enable --now docker

Запуск и Образы

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

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

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

docker run --rm -it alt

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

Для использования образа 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 (для изменения существующих или добавления новых образов приветствуются pull-request'ы).

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

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

Запуск на Sisyphus

При использовании Sisyphus с настройками по умолчанию запуск docker завершится с ошибкой

docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.

Это происходит потому, что текущая версия docker еще не поддерживает cgroups v2. В качестве временного объезда предлагается в параметры ядра добавить следующую строчку

systemd.unified_cgroup_hierarchy=0