2016-02-19 2 views
3

Я использую версию докеры 1.10.1 на RHEL 7 и получаю ошибку установки npm при использовании ниже файла Docker. Ошибка: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443. Та же самая работа с докером 1.91 на ubuntu 14.04. Когда я получаю Баш и установить Inetutils пинг на контейнер я заметил, что я не могу свистеть в любом местеdocker npm install Ошибка: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443

[email protected]:/home/nodexp#ping 8.8.8.8   
PING 8.8.8.8 (8.8.8.8): 56 data bytes 
^C--- 8.8.8.8 ping statistics --- 
4 packets transmitted, 0 packets received, 100% packet loss 

Почему? Конечно, я могу пинговать от RHEL

Dockerfile

FROM node:argon 
# Create user nodexp in group nodexp 
RUN groupadd -r nodexp \ 
    && useradd -m -r -g nodexp nodexp 
WORKDIR /home/nodexp 
# Install app dependencies 
COPY package.json /home/nodexp 
RUN npm install 
# Bundle app source 
COPY . /home/nodexp 
EXPOSE 3000 
CMD [ "npm", "start" ] 

и package.json

{ 
    "name": "mp", 
    "version": "0.0.0", 
    "private": true, 
    "scripts": { 
    "start": "node app.js" 
    }, 
    "dependencies": { 
    "express": "~4.13.1" 

    } 
} 

ответ

6

перезапуском докер с этой командой фиксирует это для меня, но я не знаю, почему

sudo service docker restart

+0

Перезапуск Docker на Windows, работал тоже, спасибо. – electrotype

0

Для меня проблема была в том, что моих своп-раздела были проблемыпосле изменения моего корневого разделаи спросила меня, для моей ключевой фразы для почти всех системных задач (например, метких получить команды, переиздание/загрузки и т.д.).

Please enter passphrase for disk … (cryptswap1) on none

Примечание

попробовать только это, если вы видите ошибку выше, тоже, и возникают проблемы, описанной в вопросе, когда вы пытаетесь выполнить npm installвнутри Docker контейнера:

Error: getaddrinfo ENOTFOUND/EAI_AGAIN registry.npmjs.org registry.npmjs.org:443

Решение

  1. Открыть GParted и проверить, где именно находится ваша подкатегория./DEV/sda5 (ссылка как "SWAP_PARTITION")
  2. Edit /etc/crypttab и заменить UUID=****, чтобы получить следующую картину:

    cryptswap1 /dev/SWAP_PARTITION/ /dev/urandom swap,**,cipher=****

  3. Reboot, если вы все еще запрошена парольная фраза, по-прежнему:

  4. Выполнение команды sudo dd if=/dev/zero of=/dev/SWAP_PARTITION/ bs=512 count=20480 и перезагрузка. Это исправило это для меня.

source

Смежные вопросы