UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

133 lines (83 loc) 6.32 kB
Ссылки по теме * [systemd-nspawn](/index.php/Systemd-nspawn "Systemd-nspawn") * [Linux Containers](/index.php/Linux_Containers "Linux Containers") * [Lxc-systemd](/index.php/Lxc-systemd "Lxc-systemd") * [Vagrant](/index.php/Vagrant "Vagrant") [Docker](http://www.docker.io) — это утилита для упаковки, загрузки и запуска любых приложений через легковесный контейнер. ## Contents * [1 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0) * [2 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0) * [3 Docker 0.9.01.2.x и LXC](#Docker_0.9.0_.E2.80.94_1.2.x_.D0.B8_LXC) * [4 Skype](#Skype) * [5 Сборка образа i686](#.D0.A1.D0.B1.D0.BE.D1.80.D0.BA.D0.B0_.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.B0_i686) * [5.1 Образ ArchLinux](#.D0.9E.D0.B1.D1.80.D0.B0.D0.B7_ArchLinux) * [5.2 Образ Debian](#.D0.9E.D0.B1.D1.80.D0.B0.D0.B7_Debian) * [6 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5) ## Установка [Установите](/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5 "Установите") [docker](https://www.archlinux.org/packages/?name=docker), доступный в [официальных репозиториях](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"). Для i686 установите [docker-git](https://aur.archlinux.org/packages/docker-git/) из [AUR](/index.php/AUR_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "AUR (Русский)"). Затем [включите](/index.php/%D0%92%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D0%B5 "Включите") и [запустите](/index.php/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D0%B5 "Запустите") службу `docker.service` и проверьте ее работу: ``` # docker info ``` Если необходимо запускать *docker* от обычного пользователя, добавьте его в группу `docker` и перелогиньтесь: ``` # gpasswd -a *user* docker ``` ## Настройка Отредактируйте `/etc/systemd/system/docker.service`, где `http_proxy` — ваш прокси сервер, `-g <path>` — директория docker (по умолчанию `/var/cache/docker`). ``` [Service] Environment="http_proxy=192.168.1.1:3128" ExecStart= ExecStart=/usr/bin/docker -d -g /var/yourDockerDir ``` **Примечание:** Предполагается, что адрес используемого прокси-сервера `192.168.1.1`; не используйте `127.0.0.1`. По умолчанию, демон docker принимает запросы на [доменном сокете Unix](https://en.wikipedia.org/wiki/ru:Unix_domain_socket "wikipedia:ru:Unix domain socket"). Если вы хотите, чтобы запросы принимались на сетевом порту, отредактируйте `/etc/systemd/system/docker.socket`, где `ListenStream` — сетевой адрес сокета: ``` [Socket] ListenStream=0.0.0.0:2375 ``` ## Docker 0.9.0 — 1.2.x и LXC Начиная с версии 0.9.0, Docker предоставляет новый способ запуска контейнеров без необходимости в LXC, называемый *libcontainer*. LXC может быть удален в ближайшем будущем, однако таким образом вы не сможете использовать `lxc-attach` с контейнерами, управляемыми Docker 0.9.0+ по умолчанию ([запрос 5797](https://github.com/docker/docker/pull/5797)). Для этого потребуется запускать службу Docker с параметром `-e lxc`. Вы можете создать файл с именем `lxc.conf` в `/etc/systemd/system/docker.service.d/` со следующим содержимым: ``` [Service] ExecStart= ExecStart=/usr/bin/docker -d -e lxc ``` ## Skype Смотрите [Skype#Docker](/index.php/Skype#Docker "Skype"). ## Сборка образа i686 Для архитектуры i686, мы **не** можем использовать образ x86_64, полученный с помощью следующей команды: ``` # docker pull base/archlinux ``` ### Образ ArchLinux Вместо этого, посетите [реестр base/archlinux](https://registry.hub.docker.com/u/base/archlinux/) и перейдите по ссылке `mkimage-arch.sh` для скачивания `mkimage-arch.sh` и `mkimage-arch-pacman.conf`. Затем сделайте скрипт исполняемым: ``` $ chmod +x mkimage-arch.sh ``` и выполните следущее: ``` # LC_ALL=C ./mkimage-arch.sh # LC_ALL=C потому что скрипт парсит вывод консоли ``` Скрипт проверит наличие необходимых утилит. В случае их отсутствия будет предложено их установить. ``` $ docker run -t -i --rm archlinux /bin/bash # для запуска ``` Для медленных сетевых подключений и/или на слабых машинах можно увеличить тайм-аут сборки: ``` $ sed -i 's/timeout 60/timeout 120/' mkimage-arch.sh ``` ### Образ Debian Собрать образ Debian можно с помощью [debootstrap](https://www.archlinux.org/packages/?name=debootstrap) из [AUR](/index.php/AUR_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "AUR (Русский)"): ``` $ mkdir wheezy-chroot # debootstrap wheezy ./wheezy-chroot [http://http.debian.net/debian/](http://http.debian.net/debian/) $ cd wheezy-chroot # tar cpf - . | docker import - debian $ docker run -t -i --rm debian /bin/bash ``` ## Смотрите также * [Arch Linux на docs.docker.com](https://docs.docker.com/installation/archlinux/) * [Arch Linux Docker Tutorial на linuxhint.com](https://linuxhint.com/arch-linux-docker-tutorial/)