Докер по Synology - привязка ко всем интерфейсам

Ответ rakensi из Получение пути к скрипту R является самым правильным и действительно блестящим IMHO. Тем не менее, это все еще хак, включающий фиктивную функцию. Я цитирую его здесь, чтобы облегчить его поиск другими.

sourceDir & lt; - getSrcDirectory (function (dummy) {dummy})

blockquote>

Это дает каталог файла, в котором размещен оператор (где определена фиктивная функция). Затем он может использоваться для установки рабочей директории и использования относительных путей, например

setwd(sourceDir)
source("other.R")

, или для создания абсолютных путей

 source(paste(sourceDir, "/other.R", sep=""))

0
задан Ohad Benita 18 January 2019 в 13:53
поделиться

1 ответ

Для пояснения, хотя ваш докер привязывается только к интерфейсу ipv6 («:::»), а не к ipv4 («0.0.0.0»), Docker запрещает петлевое подключение к своему docker-прокси с хоста. Я считаю, что это также не работает во всех сетевых режимах.

Если вы подключаетесь из одного контейнера в другой, используйте имя контейнера через docker-dns и частную локальную сеть. Например, если ваш контейнер MariaDB называется «maria», я считаю, что DNS докера на 127.0.0.11 предлагает поиск имени «maria» для 172. . . * Ipv4, к которому могут подключаться другие контейнеры. если в той же 172. {подсеть}. . / 16 в качестве вашего хоста MariaDB. Соединитесь с «Марией» в другом контейнере, и TCP волшебным образом попадет в нужное место.

Если вы пытаетесь подключиться с хоста докера к контейнеру, это проблема, с которой я смирился с проксированием моего маршрутизатора через шпилечный NAT к тем же портам upnp, которые я экспортировал через Внешний доступ в Synology , который кажется плохим решением, но работает сегодня.

0
ответ дан Allan 18 January 2019 в 13:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: