【问题标题】:Dockerfile doesn't seem to be exposing portsDockerfile 似乎没有暴露端口
【发布时间】:2021-06-10 19:07:40
【问题描述】:

我正在尝试在端口 8080 上运行一个简单的节点服务器,但使用以下配置,任何尝试访问子域都会导致 502 Bad Gateway 错误。如果我去节点,我可以看到容器本身似乎没有任何端口打开。那么,假设我已经正确检查了所有内容,我还需要在配置中做些什么来打开节点服务器的端口吗?

编辑:如果我 ssh 进入 pod 和 8080 上的 curl localhost,我就可以访问节点服务器。

Dockerfile

FROM node:12.18.1

WORKDIR /app
COPY ["package.json", "package-lock.json*", "./"]
RUN npm install 
COPY . .
RUN npm run build

EXPOSE 8080
CMD [ "node", "server.js" ]

k8s 部署

spec:
  containers:
  - name: test
    image: test_image
    ports:
    - name: http
      protocol: TCP
      containerPort: 8080

服务 yaml

apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  ports:
  - name: http
    port: 80
    targetPort: 8080
    protocol: TCP
  - name: https
    port: 443
    targetPort: 8080
    protocol: TCP
  selector:
    app: test-deployment
  type: NodePort
  externalTrafficPolicy: Cluster

入口

spec:
  rules:
  - host: dev.test.com
    http:
      paths:
      - backend:
          serviceName: test-service
          servicePort: 80
        path: /

【问题讨论】:

    标签: docker nginx kubernetes port


    【解决方案1】:

    这最终发生在应用程序方面。服务器需要绑定到0.0.0.0,而不是127.0.0.1

    【讨论】:

      猜你喜欢
      • 2021-02-04
      • 2017-10-12
      • 2020-02-22
      • 2018-09-03
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2019-06-22
      相关资源
      最近更新 更多