docker изображение (nodejs приложение) на GCP возвращает ERR_CONNECTION_REFUSHED (работает локально) - PullRequest
0 голосов
/ 21 января 2020

Я создал docker изображение из nodejs приложения. Я хочу запустить экземпляр виртуальной машины с изображением docker в GCP Compute Egine Instance.

Когда я проверяю изображение локально и в браузере перехожу на http://localhost: 8000 , оно работает. Поэтому я не думаю, что что-то не так с моим docker изображением.

docker run -p 8000:8000 -d <username>/<docker-file>

Я отправил изображение docker в хранилище google-контейнера с помощью следующих команд:

docker tag <username>/<docker-file> gcr.io/<project-id>/<docker-file>
docker push gcr.io/<project-id>/<docker-file>

Теперь, когда я добавляю URL (gcr.io/project-id/docker-file) к экземпляру виртуальной машины и жду, пока экземпляр запущен, при переходе к http появляется ошибка : // [instance_external_ip]: 8000 , я получаю ошибку ERR_CONNECTION_REFUSED.

Я установил правило брандмауэра, чтобы разрешить входящий трафик c на порт tcp = 8000 и диапазон IP-адресов 0.0.0.0/0 .

Я что-то упустил?

Редактировать:

Мой Dockerfile

FROM node:10

WORKDIR /usr/src/nodejs

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080

CMD [ "node", "index.js" ]

Ответы [ 2 ]

0 голосов
/ 22 января 2020

Как / когда вы запускаете docker? Не могли бы вы выполнить эту команду

docker run -p 8000:8000 -d gcr.io/<project-id>/<docker-file>:latest

, а затем попытаться подтвердить, что сначала она выполняется локально, используя

curl localhost:8000
0 голосов
/ 21 января 2020

В вашем Dockerfile вы выставляете 8080, а не 8000.

Проверяли ли вы, что ваш контейнер работает на экземпляре? пытался завить / тэ lnet это тоже?

...