Подтвердить что ты не робот

Зачем использовать AUFS в качестве базового сервера хранения Docker по умолчанию вместо devicemapper?

Атомное описание проекта Docker backback описывает технические различия между AUFS и другими вариантами доступа к хранилищу, например devicemapper. AUFS не находится в исходном ядре Linux. Почему AUFS выбран как базовый сервер хранения по умолчанию (например, в Ubuntu Docker)? Существуют ли какие-то технические свойства AUFS, которые делают его лучшим выбором, чем бэкэнд для хранения данных, такой как devicemapper, который, как представляется, поддерживается явным ядром Linux?

4b9b3361

Ответ 1

AUFS - это только конечный конец хранилища по умолчанию в системах/дистрибутивах, в которых он доступен. В противном случае devicemapper является значением по умолчанию. Например, Ubuntu 14.04 по умолчанию использует devicemapper:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
$ docker info | grep Storage
Storage Driver: devicemapper

Это изменилось в Docker 0.7.0. До 0,7.0 Docker полагался на AUFS в качестве единственного накопителя, поэтому он был по умолчанию в более ранних версиях Ubuntu.

Ответ 3

Документация докеров говорит:

Драйвер aufs является самым старым, но основан на наборе патчей ядра Linux, который вряд ли будет объединен с основным ядром. Известно также, что они вызывают серьезные сбои ядра.

У меня были эти сбои ядра с Docker 17.06.2 ~ ce-0 ~ ubuntu на Ubuntu 16.04 с ядром по умолчанию.

Я использую overlay2 в файловой системе ext4; Докер теперь отлично работает.