Как установить узловые модули (экспресс, машинопись, ws и т. Д.) Внутри контейнера Ubuntu LXC? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть приложение для машинописи, которое, в свою очередь, является экспресс-веб-приложением и использует модуль ws для операций с сокетами.

Мой пример использования заключается в том, что мне нужно запустить приложение для машинописи внутри контейнера LXC в Ubuntu.

Я создал контейнер, используя следующие шаги,

lxc-create -t download -n my-container
lxc-start -n my-container -d
lxc-attach -n my-container

И я установил узел внутри контейнера, используя,

apt-get install wget unzip nodejs npm nodejs-legacy 

Теперь, когда я пытаюсь установить Express илиМодуль машинописного текста npm, я получаю следующую ошибку:

root@myNodeCont:/# npm install -g express
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/express
npm ERR! network tunneling socket could not be established, cause=4150015744:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:795:
npm ERR! network
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Linux 4.15.0-45-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "express"
npm ERR! cwd /
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! code ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /npm-debug.log
npm ERR! not ok code 0

Он говорит мне, что я за прокси, но у меня не настроен прокси в контейнере.

Есть ли что-то, что яздесь что-то не так?

Есть ли какая-нибудь справка о том, как запустить приложение с машинописью внутри контейнера?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 19 июля 2019

Таким образом, при установке этих модулей контейнеру необходимо перейти в Интернет для получения этих модулей.

Option1:

открыть файл resolv.conf в lxc contianer.

sudo vi /etc/resolv.conf

добавить

серверов имен 8.8.8.8 8.8.4.4

до конца файла, теперь попробуйте установить все эти модули.

Option2:

Лучше всего использовать переадресацию портов

Напишите правило iptable / ebtable, чтобы любой трафик, исходящий из базовой машины, передавался в интерфейс контейнера LXC.

...