- Install Docker in Arch / Manjaro Linux system
- Step 0: Search Docker using Pacman
- Step 1: Installation using Pacman
- Step 1.1: Pacman automatically solves dependencies
- Step 1.2: Pacman Optional Dependency
- Step 2: Start Docker
- Step 2.1: Open Docker boot automatic start service
- Step 2.2: Close Docker boot automatic start service
- Step 2.3: Start Docker Services
- Step 3: Job access the work user to the Docker group to avoid working using the root account
- Step 4: Configuring mirror acceleration
- Step 5: Test is installed correctly
- Docker (Русский)
- Contents
- Установка
- Настройка
- Драйвер хранения
- Remote API
- Remote API с systemd
- Конфигурация сокета демона
- Прокси
- Конфигурация прокси
- Конфигурация контейнера
- Конфигурация DNS
- Запуск Docker с сетью, заданной вручную, в systemd-networkd
- Расположение образов
- Небезопасные реестры
- Образы
- Arch Linux
- Debian
- Создание образа вручную
- Удаление Docker и образов
- Полезные советы
- Запуск Docker-контейнеров с ускорением на графических процессорах NVIDIA
- С помощью NVIDIA Container Toolkit (рекомендовано)
- С помощью NVIDIA Container Runtime
- С помощью nvidia-docker (устарело)
- Устранение неполадок
- docker0 Bridge не получает IP адреса/нет доступа к Интернету в контейнерах
- Слишком низкое значение количества процессов/потоков по умолчанию
- Ошибка инициализации графического драйвера: devmapper
- Failed to create some/path/to/file: No space left on device
- Неверная ссылка между устройствами в ядре 4.19.1
- Docker-machine не может создать виртуальные машины с драйвером virtualbox
- Docker 0.9.0 — 1.2.x и LXC
- Как установить Docker на Manjaro 20
- Как установить Docker на Manjaro 20
- Установка Docker на Manjaro 20 Nibia
- Шаг 1. Перед тем, как запустить руководство, приведенное ниже, убедитесь, что наша система обновлена:
- Шаг 2. Установка Docker на Manjaro 20.
- Шаг 3. Чтобы установить Docker, просто используйте следующую команду:
Install Docker in Arch / Manjaro Linux system
Set the mirror source to domestic mirror stations before installation, such as:TUNA ArchLinux ; TUNA ArchLinuxCN
Manjaro Linux set domestic mirror stations:
- Arch Linux
- Manjaro Linux
- To be added
Step 0: Search Docker using Pacman
Step 1: Installation using Pacman
Step 1.1: Pacman automatically solves dependencies
Step 1.2: Pacman Optional Dependency
Step 2: Start Docker
Step 2.1: Open Docker boot automatic start service
Set the Docker boot automatically start service after the installation is complete.
Step 2.2: Close Docker boot automatic start service
Step 2.3: Start Docker Services
Step 3: Job access the work user to the Docker group to avoid working using the root account
Pacman mode has been automatically helped us to establish a Docker group after installing Docker, so we don’t need to add a Docker group ourselves. Just join the current work user to the Docker group.
The restart system takes effect.
Step 4: Configuring mirror acceleration
Given the domestic network problems, each use docker pull When the PULL mirror, Docker Daemon will go to Docker Hub to pull the mirror, pull the Docker image is very slow, and strongly recommends that the Docker-CE is installed to configure domestic mirror acceleration.
We can use the mirror source of China University to accelerate (Ali Cloud’s Docker mirror accelerator needs to register account, everyone has its own unique address.).
Acceleration method reference»USTC Docker Mirror Use Help»For systems that use systemd, modify /etc/docker/daemon.json You can (if you don’t have the file, please create a new one).
Add the following statement in this configuration file, if you want to switch other mirror sources, you can modify the URL section:
After the configuration is completed, the following command will be restarted to restart the service.
Step 5: Test is installed correctly
Congratulations, if you see the above prompt, it means that Docker works fine.
Источник
Docker (Русский)
Docker — утилита для упаковки, загрузки и запуска любых приложений в легковесных контейнерах.
Contents
Установка
Установите пакет docker или docker-git AUR , версию для разработки. Затем включите и запустите службу docker.service и проверьте ее работу:
Обратите внимание, что запуск службы Docker может завершиться сбоем, если имеется активное VPN-соединение. Это происходит из-за IP-конфликтов между сетевыми мостами и оверлейными сетями VPN и Docker. Если это так, попробуйте отключить VPN перед запуском службы Docker. Вы можете переподключить VPN сразу после этого. Вы также можете попытаться разрешить конфликт сетей.
Если требуется запуск Docker от имени обычного пользователя, добавьте его в группу пользователей docker :
Настройка
Драйвер хранения
Драйвер хранения Docker (storage driver или graph driver) значительно влияет на производительность. Его задача — эффективно хранить слои образов контейнеров, то есть когда несколько образов совместно используют слой, только один слой использует дисковое пространство. Совместимая опция `devicemapper` предлагает неоптимальную производительность, которая просто ужасна на вращающихся дисках. Кроме того, `devicemapper` не рекомендуется использовать в промышленной среде.
Поскольку Arch Linux поставляется с новыми ядрами Linux, нет смысла использовать опцию совместимости. Хороший, современный выбор — overlay2 .
Выполните # docker info | grep -i storage , чтобы увидеть текущий драйвер хранилища. Новые установки Docker уже должны использовать overlay2 по умолчанию.
Отредактируйте файл /etc/docker/daemon.json (создайте его, если он не существует), чтобы изменить драйвер хранения:
После чего перезапустите Docker.
Дополнительную информацию о доступных опциях можно найти в руководстве пользователя. Также см. документацию dockerd для получения информации о параметрах daemon.json .
Remote API
Используйте следующую команду, чтобы вручную открыть порт 4243 для Remote API:
-H tcp://0.0.0.0:4243 — часть для открытия Remote API.
-H unix:///var/run/docker.sock — часть для доступа к хост-машине через терминал.
Remote API с systemd
Чтобы запустить Remote API с помощью демона Docker, создайте Drop-in сниппет со следующим содержимым:
Конфигурация сокета демона
Демон docker по умолчанию прослушивает Unix-сокет. Чтобы прослушивать определённый порт, создайте Drop-in сниппет со следующим содержимым:
Прокси
Конфигурация прокси
Создайте Drop-in сниппет со следующим содержанием:
Убедитесь, что конфигурация была загружена:
Конфигурация контейнера
Настройки в файле docker.service не применяются к контейнерам. Для этого необходимо задать переменные ENV в Dockerfile следующим образом:
Docker предоставляет подробную информацию о конфигурации с помощью ENV в Dockerfile.
Конфигурация DNS
По умолчанию docker создаёт resolv.conf в контейнере с /etc/resolv.conf на хост-машине, отфильтровывая локальные адреса (например, 127.0.0.1 ). Если это приводит к пустому файлу, тогда используются Google DNS серверы. Если вы используете службу типа dnsmasq для предоставления разрешения имен, вам может потребоваться добавить запись в /etc/resolv.conf для сетевого интерфейса докера, чтобы она не отфильтровывалась.
Запуск Docker с сетью, заданной вручную, в systemd-networkd
Если вы вручную конфигурируете свою сеть, используя systemd-networkd версии 220 или выше, контейнеры, которые вы запускаете с помощью Docker, могут не иметь доступа к вашей сети. Начиная с версии 220, параметр переадресации для данной сети ( net.ipv4.conf. .forwarding ) по умолчанию равен off . Этот параметр запрещает переадресацию IP. Он также конфликтует с Docker, который включает параметр net.ipv4.conf.all.forwarding внутри контейнера.
Обходной путь — отредактировать файл .network в /etc/systemd/network/ , добавив IPForward=kernel на хосте Docker:
Эта конфигурация разрешает переадресацию IP из контейнера, как и ожидалось.
Расположение образов
По умолчанию Docker образы расположены в /var/lib/docker . Они могут быть перемещены в другие разделы. Во-первых, остановите docker.service .
Если вы запустили Docker образы, вам необходимо убедиться, что они полностью размонтированы. После этого вы можете переместить изображения из /var/lib/docker в целевой путь.
Затем добавьте Drop-in сниппет для docker.service , добавив параметр —data-root в ExecStart :
Небезопасные реестры
Если вы решите использовать самозаверенный сертификат для своего личного реестра, Docker откажется использовать его, пока вы не заявите, что доверяете ему. Добавьте Drop-in сниппет для docker.service , добавив —insecure-registry параметр в dockerd :
Образы
Arch Linux
Следующая команда выгружает archlinux/base x86_64 образ. Это урезанная версия ядра Arch без сети и т.д.
Для полноценного образа Arch, клонируйте репозиторий и создайте свой собственный образ.
Отредактируйте файл packages так, чтобы он содержал только «base». Затем запустите:
Debian
Следующая команда выгружает debian x86_64 образ.
Создание образа вручную
Создайте образ Debian с debootstrap :
Удаление Docker и образов
Если вы хотите полностью удалить Docker, вам следует выполнить следующие шаги:
Выдать список работающих контейнеров:
Выдать список всех контейнеров, запущенных на хосте для удаления:
Остановить работающий контейнер:
Выполнить команду kill для всё ещё работающих контейнеров:
Удалить все контейнеры, перечисленные по ID:
Выдать список всех образов Docker:
Удалить все образы Docker по ID:
Удалить все данные Docker (очистить каталог):
The factual accuracy of this article or section is disputed.
Полезные советы
Чтобы получить IP адрес контейнера, выполните:
Для каждого работающего контейнера имя и соответствующий IP-адрес могут быть перечислены для использования в /etc/hosts :
Запуск Docker-контейнеров с ускорением на графических процессорах NVIDIA
С помощью NVIDIA Container Toolkit (рекомендовано)
Начиная с версии 19.03, графические процессоры NVIDIA поддерживаются в качестве устройств Docker. NVIDIA Container Toolkit ― рекомендованный способ запуска контейнеров, использующих графические процессоры NVIDIA.
Установите пакет nvidia-container-toolkit AUR и перезапустите Docker. Теперь вы можете запускать контейнеры Docker, использующие графические процессоры NVIDIA, с помощью параметра —gpus :
Укажите, сколько графических процессоров разрешено в контейнере:
Укажите, какие GPU следует использовать:
Укажите возможности («graphics», «compute», . ) контейнера (хотя это редко, если вообще когда либо используется таким образом):
Для получения дополнительной информации см. README.md и Wiki.
С помощью NVIDIA Container Runtime
Установите пакет nvidia-container-runtime AUR . Затем, зарегистрируйте среду выполнения NVIDIA, отредактировав конфигурационный файл /etc/docker/daemon.json :
Среда выполнения также может быть зарегистрирована с помощью параметра командной строки dockerd:
После этого контейнеры с ускорением на графических процессорах могут быть запущены с помощью следующей команды:
или (требуется Docker версии 19.03 или выше):
С помощью nvidia-docker (устарело)
nvidia-docker — обёртка над библиотекой среды исполнения NVIDIA Container Runtime, которая регистрирует среду выполнения NVIDIA по умолчанию и предоставляет команду nvidia-docker.
Чтобы использовать nvidia-docker, установите пакет nvidia-docker AUR и перезапустите Docker. Контейнеры с поддержкой NVIDIA GPU могут быть запущены, используя один из следующих методов:
или (требуется Docker версии 19.03 или выше)
Устранение неполадок
docker0 Bridge не получает IP адреса/нет доступа к Интернету в контейнерах
Docker сам включает переадресацию IP, но по умолчанию systemd-networkd переопределяет соответствующую настройку sysctl. Установите IPForward=yes в настройках сети. Подробнее читайте в Internet sharing#Enable packet forwarding.
Слишком низкое значение количества процессов/потоков по умолчанию
Если вы столкнетесь с сообщениями об ошибках, похожими на следующие:
тогда вам может потребоваться настроить количество процессов, разрешенных systemd. Значени по умолчанию 500 (смотрите system.conf ), что довольно мало для запуска нескольких Docker контейнеров. Отредактируйте docker.service со следующим фрагментом:
Ошибка инициализации графического драйвера: devmapper
Если systemctl не запускает Docker и выдает ошибку::
Попробуйте выполнить следующие действия, чтобы устранить ошибку. Остановите службу, сделайте резервную копию /var/lib/docker/ (если это необходимо), удалите содержимое /var/lib/docker/ , и попробуйте запустить службу. Смотрите описание проблемы на GitHub для более детальной информации.
Failed to create some/path/to/file: No space left on device
Если вы получаете сообщение об ошибке, подобное этому:
При создании или исполнении Docker образа, даже если у вас достаточно свободного места на диске, убедитесь, что:
- Tmpfs отключен или имеет достаточно памяти. Docker может пытаться записать файлы в /tmp но терпит неудачу из-за ограничений в использовании памяти, а не дискового пространства.
- Если вы используете XFS, Вы можете удалить опцию монтирования noquota из соответствующих записей в /etc/fstab (обычно, где находятся /tmp и/или /var/lib/docker ). Для получения дополнительной информации обратитесь к Disk quota, особенно, если вы планируете использовать и изменить размер overlay2 Docker хранилища.
- Варианты установки монтирования квоты XFS ( uquota , gquota , prjquota , и т.д.) выдают ошибку при перемонтировании файловой системы.
Чтобы включить квоту для корневой файловой системы, параметр монтирования должен быть передан как kernel parameter rootflags= . Впоследствии его не следует указывать среди параметров монтирования в /etc/fstab для корневой файловой системы ( / ).
Неверная ссылка между устройствами в ядре 4.19.1
Если команды типа dpkg не запускаются в Docker, например:
Либо добавьте overlay.metacopy=N kernel parameter или поставьте версию 4.18.x, в которой эта проблема решена. Больше информации в Arch forum.
Docker-machine не может создать виртуальные машины с драйвером virtualbox
Если docker-machine не может создать виртуальные машины с драйвером virtualbox и отображает следующую ошибку:
Перезагрузите virtualbox из командной строки с помощью команды vboxreload .
Docker 0.9.0 — 1.2.x и LXC
Начиная с версии 0.9.0, Docker предоставляет новый способ запуска контейнеров без необходимости в LXC, называемый libcontainer.
LXC может быть удален в ближайшем будущем, однако таким образом вы не сможете использовать lxc-attach с контейнерами, управляемыми Docker 0.9.0+ по умолчанию (запрос 5797). Для этого потребуется запускать службу Docker с параметром -e lxc .
Источник
Как установить Docker на Manjaro 20
Как установить Docker на Manjaro 20
В этом руководстве мы покажем вам, как установить Docker на Manjaro 20. Для тех из вас, кто не знал, Docker — это проект с открытым исходным кодом, который автоматизирует развертывание приложения внутри программного контейнера. Контейнер позволяет разработчику упаковать все ресурсы проекта, такие как библиотеки, зависимости, активы и т. Д. Docker написан на языке программирования Go и разработан Dot cloud. По сути, это механизм контейнеров, который использует функции ядра Linux, такие как пространства имен и группы управления, для создания контейнеров поверх операционной системы и автоматизирует развертывание приложений в контейнере.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Docker на Manjaro 20 ( Nibia ).
Установка Docker на Manjaro 20 Nibia
Шаг 1. Перед тем, как запустить руководство, приведенное ниже, убедитесь, что наша система обновлена:
Шаг 2. Установка Docker на Manjaro 20.
- Установите Docker CE из официального репозитория:
После завершения установки запустите службу Docker и включите ее автоматический запуск после перезагрузки системы:
- Установите Docker с помощью Snap:
Выполните следующую команду, чтобы установить пакеты Snap
Шаг 3. Чтобы установить Docker, просто используйте следующую команду:
После установки будет создана группа докеров. Добавьте своего пользователя в группу, которая будет запускать команды докеров:
После этого проверьте установку Docker, используя следующую команду:
Поздравляю! Вы успешно установили Docker . Благодарим за использование этого руководства по установке Docker в системах Manjaro 20. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Docker .
Источник