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
. Надеюсь, это поможет!
Нет, h2xs не удерживается от использования. Модуль:: Начинающий, конечно, более удобен, если Вы создаете много чистых модулей Perl, но нет никакой причины избежать h2xs. Я рекомендовал бы читать полностью через его документ перед использованием его, тем не менее, так, чтобы Вы знали то, что все Вы могли бы хотеть, чтобы это сделало или не сделало.
Лично я просто использую Module :: Starter и сам добавляю файл .xs. Это зависит от того, какова ваша цель: если вы делаете сопоставление один на один с C api, то h2xs может сделать для вас много шаблонного, но если вы создаете совершенно новый интерфейс или когда вы ' делать что-то только с самим Perl (а не с какой-нибудь внешней библиотекой), это немного добавляет, но проблем ИМХО.