Docker использует различные типы сетевых драйверов для реализации связи между контейнерами и внешними сетями. Сетевым драйвером по умолчанию является драйвер bridge
. С помощью этого драйвера программный мост позволяет контейнерам, подключенным к одному и тому же мосту, взаимодействовать друг с другом. Контейнеры, подключенные к разным мостам, изолированы друг от друга. Драйвер моста также привязан к одному хосту, поэтому контейнеры, расположенные на разных хостах, не могут взаимодействовать друг с другом.
При использовании Docker Swarm у вас обычно -многоузловая конфигурация с демонами docker, работающими на каждом хосте. Для облегчения связи в этом сценарии вам нужен драйвер overlay
. Каждый демон docker использует bridge
сеть (с именем 'docker _gwbridge' ), а сеть overlay
находится поверх (оверлеев )этих сетей, специфичных для хоста -. Затем драйвер overlay
может разрешить связь между различными демонами Docker, облегчая функциональность роя.
Дополнительные сведения см. в документации Docker по работе в сети .
Две конкретные команды в вопросе создают, а затем используют новую overlay
сеть. Команда docker network create создает новую сеть overlay
. Команда docker service create определяет новую службу и указывает, что она подключена к ранее созданной сети overlay
.
$ cat installer.sh
#! /bin/bash
mkdir -p /tmp/testdir
test -e "$1" || exit 1
zypper --installroot /tmp/testdir install $(rpm -qf "$1")