Я использую приложение Nodejs с docker для развертывания на AWS ecs.
Проблема в том, что вызов api для возврата частной записи DNS error: getaddrinfo enotfound request
Похоже, что ошибка исследования связана с поиском DNS (пожалуйста, не стесняйтесь комментировать, если у вас есть другая теория), поэтому я решил установить DNS-серверы и µextra_hostsµ при создании.
Даже если все строится, когда я cat / etc / hosts в Dockerfile он не изменился.
Вопросы:
- Следует ли изменять / etc / hosts с помощью extra_hosts.
- Может быть другая причина ошибки:
getaddrinfo enotfound request
? Все остальные вызовы api работают, кроме внутреннего DNS, который работает один раз, а после возвращает ошибку: getaddrinfo enotfound.
- Как лучше всего настроить DNS и хост с docker?
- Почему он работает один раз и останавливается после?
так выглядит мой docker -компоновочный файл:
version: '3'
services:
nodejs:
extra_hosts:
- "<name here>:<ip here>"
- "<name here>:<ip here>"
dns:
- <ip here>
- <ip here>
- <ip here>
network_mode: 'host'
build:
context: .
dockerfile: Dockerfile
Вот как docker файл выглядит
FROM alpine:latest
RUN apk add --update nodejs nodejs-npm && apk add g++ make python
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN cat /etc/hosts
EXPOSE 80
CMD npm start
Вот результат сборки docker
Sending build context to Docker daemon 11.58MB
Step 1/11 : FROM alpine:latest
---> f70734b6a266
Step 2/11 : RUN apk add --update nodejs nodejs-npm && apk add g++ make python
---> Using cache
---> b173538c6ce5
Step 3/11 : WORKDIR /usr/src/app
---> Using cache
---> 0186bcca617d
Step 7/11 : RUN npm install
---> Using cache
---> 546f707d5fea
Step 8/11 : COPY . .
---> b66f4bec9d93
Step 9/11 : RUN cat /etc/hosts
---> Running in 1c48f0426713
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 1c48f0426713
Removing intermediate container 1c48f0426713
---> 858735acc4a6
Step 10/11 : EXPOSE 80
---> Running in dd7a8ae0669a
Removing intermediate container dd7a8ae0669a
---> 907a3dafb4fc
Step 11/11 : CMD npm start
---> Running in a3dd69c6ec3b
Removing intermediate container a3dd69c6ec3b
---> cda2214b2761
Successfully built cda2214b2761
Successfully tagged test:latest