Docker - IP-адрес контейнера в Windows

Из руководства по PHP в отношении разделителей PCRE :

Разделителем может быть любой небуквенный символ, не обратный слэш, символ без пробелов.

Часто используемые разделители - это косые черты (/), знаки хэша (#) и тильды (~).

blockquote>

Таким образом, вы можете использовать / как разделитель чтобы отделить шаблон от необязательных модификаторов :

/\[\[(.*)\|\|(.*)\]\]/

Но также обратите внимание:

В дополнение к вышеупомянутым разделителям также возможно использовать разделители в стиле скобок, где открывающие и закрывающие скобки являются начальным и конечным разделителями соответственно.

blockquote>

Кроме того, в настоящее время ваш шаблон будет как можно больше соответствовать как кванторы жадные; вы можете захотеть изменить их, чтобы не согласиться с ними как можно меньше:

/\[\[(.*?)\|\|(.*?)\]\]/

0
задан Max 18 March 2019 в 18:02
поделиться

1 ответ

127.0.0.1 является адресом обратной связи, поэтому ваш контейнер Node.js продолжает пинговать себя вместо хоста (вашего ноутбука). Вы можете создать свою собственную мостовую сеть и присоединить два контейнера к этой мостовой сети

docker network create scylla-net

Теперь запустите контейнер ScyllaDB следующим образом

docker run --name some-scylla -d --net=scylla-net scylladb/scylla

В своем скрипте Node.js измените 127.0.0.1 - some-scylla (название вашего контейнера ScyllaDB). Крутая вещь в пользовательских мостовых сетях заключается в том, что они позволяют вашим контейнерам общаться друг с другом через их имена. Таким образом, имя some-scylla будет соответствовать любому IP-адресу, который контейнер some-scylla использует в то время.

Теперь, когда вы запускаете сервер Node.js, обязательно пропустите флаг --net=scylla-net, иначе он не сможет разрешить имя some-scylla. Надеюсь, это поможет!

0
ответ дан prithajnath 18 March 2019 в 18:02
поделиться
Другие вопросы по тегам:

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