Difference between revisions of "Docker (Русский)"

From ArchWiki
Jump to navigation Jump to search
(update interlanguage links)
Tag: wiki-scripts
(Started to synchronize Docker article, translation of Installation chapter. English Revision 561761)
Line 19: Line 19:
 
[[Установите]] {{Pkg|docker}}, доступный в [[Official repositories (Русский)|официальных репозиториях]]. Для i686 установите {{Aur|docker-git}} из [[AUR (Русский)|AUR]]. Затем [[включите]] и [[запустите]] службу {{ic|docker.service}} и проверьте ее работу:
 
[[Установите]] {{Pkg|docker}}, доступный в [[Official repositories (Русский)|официальных репозиториях]]. Для i686 установите {{Aur|docker-git}} из [[AUR (Русский)|AUR]]. Затем [[включите]] и [[запустите]] службу {{ic|docker.service}} и проверьте ее работу:
  
# docker info
+
  # docker info
  
Если необходимо запускать ''docker'' от обычного пользователя, добавьте его в группу {{ic|docker}} и перелогиньтесь:
+
Обратите внимание, что запуск службы Docker может завершиться сбоем, если у вас есть активное VPN-соединение из-за конфликтов IP между VPN и сетевым мостом и оверлейной сетью Docker. Если это так, попробуйте отключить VPN перед запуском службы Docker. Вы можете переподключить VPN сразу после этого. [https://stackoverflow.com/questions/45692255/how-make-openvpn-work-with-docker Вы также можете попытаться разрешить конфликт сетей.]
 +
 
 +
Если вы хотите иметь возможность запускать docker как обычный пользователь, добавьте его в {{ic|docker}} [[user group]] и перелогиньтесь:
  
 
  # gpasswd -a ''user'' docker
 
  # gpasswd -a ''user'' docker
 +
 +
{{Warning (Русский)|Любой, кто добавлен в группу {{ic|docker}}, имеет права, эквивалентные правам суперпользователя. Больше информации [https://github.com/docker/docker/issues/9976 здесь] и [https://docs.docker.com/engine/security/security/ здесь].}}
 +
 +
{{Note (Русский)|По состоянию на {{Pkg|linux}} 4.15.0-1 ''vsyscalls'', которые требуются определенными программами в контейнерах (такими как ''apt-get''), по умолчанию отключены в конфигурации ядра. Чтобы включить их снова, добавьте{{ic|1=vsyscall=emulate}} [[kernel parameter]]. Больше информации в {{bug|57336}}.}}
  
 
== Настройка ==
 
== Настройка ==

Revision as of 13:04, 6 January 2019

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Docker — это утилита для упаковки, загрузки и запуска любых приложений через легковесный контейнер.

Установка

Установите docker, доступный в официальных репозиториях. Для i686 установите docker-gitAUR из AUR. Затем включите и запустите службу docker.service и проверьте ее работу:

 # docker info

Обратите внимание, что запуск службы Docker может завершиться сбоем, если у вас есть активное VPN-соединение из-за конфликтов IP между VPN и сетевым мостом и оверлейной сетью Docker. Если это так, попробуйте отключить VPN перед запуском службы Docker. Вы можете переподключить VPN сразу после этого. Вы также можете попытаться разрешить конфликт сетей.

Если вы хотите иметь возможность запускать docker как обычный пользователь, добавьте его в docker user group и перелогиньтесь:

# gpasswd -a user docker
Важно: Любой, кто добавлен в группу docker, имеет права, эквивалентные правам суперпользователя. Больше информации здесь и здесь.
Примечание: По состоянию на linux 4.15.0-1 vsyscalls, которые требуются определенными программами в контейнерах (такими как apt-get), по умолчанию отключены в конфигурации ядра. Чтобы включить их снова, добавьтеvsyscall=emulate kernel parameter. Больше информации в FS#57336.

Настройка

Tango-preferences-desktop-locale.pngЭта статья или раздел нуждается в переводеTango-preferences-desktop-locale.png

Примечания: Не похоже, что http_proxy работает. (обсуждение: Talk: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. Если вы хотите, чтобы запросы принимались на сетевом порту, отредактируйте /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). Для этого потребуется запускать службу Docker с параметром -e lxc.

Вы можете создать файл с именем lxc.conf в /etc/systemd/system/docker.service.d/ со следующим содержимым:

[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -e lxc

Skype

Смотрите Skype#Docker[broken link: invalid section].

Сборка образа i686

Для архитектуры i686, мы не можем использовать образ x86_64, полученный с помощью следующей команды:

# docker pull base/archlinux

Образ ArchLinux

Вместо этого, посетите реестр 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 из AUR:

$ mkdir wheezy-chroot
# debootstrap wheezy ./wheezy-chroot http://http.debian.net/debian/
$ cd wheezy-chroot
# tar cpf - . | docker import - debian
$ docker run -t -i --rm debian /bin/bash

Смотрите также