@mmvmolkov

Почему возникает ошибка?

Привет.

Требуется консультация знаков, ставлю пакет dns-dig, запускаю на локалке и все работает, упаковываю в Docker образ и выдает ошибку

645c437a4c4f1328403321.png

версия Node js такая же как и на компе

Заранее всем спасибо.

Теперь немного кода:

main.js
import { Telegraf } from 'telegraf';
import { Markup } from "telegraf";
import config from 'config';
import dns from 'dns-dig';

const bot = new Telegraf( config.get('TELEGRAM_TOKEN') );

console.log(process.version);

dns.resolveTxt('yandex.ru').then(res => {
  console.log('TXT == ' + res); // ["93.184.216.34"]
}).catch((err) => {
  console.log('Error:', err);
});;


bot.launch();
process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));


Dockerfile
FROM node:16.14.2

WORKDIR /app

COPY package*.json ./

RUN npm ci

COPY . .

CMD ["npm", "start"]
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MadridianFox
Web-программист, многостаночник
Как уже было отмечено в комментарии ку вопросу, этот пакет использует установленный в системе dig.
В контейнере dig не установлен.
Добавьте установку соответствующего пакета в Dockerfile и код будет работать и внутри контейнера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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