簡體   English   中英

GCP 上的 docker 圖像(nodejs 應用程序)返回 ERR_CONNECTION_REFUSHED(在本地工作)

[英]docker image (nodejs app) on GCP returns ERR_CONNECTION_REFUSHED (works locally)

我已經從 nodejs 應用程序創建了一個 docker 圖像。 我想在 GCP Compute Egine 實例上啟動一個帶有 docker 鏡像的 VM 實例。

當我在本地測試圖像並使用瀏覽器導航到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) 添加到 VM 實例並等待實例運行時,當我導航到http://[instance_external_ip] 時出現錯誤: 8000 ,我收到錯誤 ERR_CONNECTION_REFUSED。

我設置了防火牆規則以允許端口 tcp = 8000 和 IP 范圍 0.0.0.0/0 上的入口流量。

我錯過了什么嗎?

編輯:

我的碼頭文件

FROM node:10

WORKDIR /usr/src/nodejs

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080

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

在您的 Dockerfile 中,您公開的是 8080 而不是 8000。

您是否檢查過您的容器是否正在實例上運行? 也嘗試 curl/telnet 嗎?

您如何/何時開始運行 docker? 你能運行這個命令嗎

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

然后嘗試確認它首先使用本地運行

curl localhost:8000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM