在kubernetes访问docker集装箱

我有一个应用程序暴露端口8080泊坞窗容器。我可以运行它,并在我的本地计算机上访问它:

$ docker run -p 33333:8080 foo * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit) 

我可以testing它:

 $ nc -v locahost 33333 connection succeeded! 

但是,当我在Kubernetes部署它不起作用。 这是清单文件:

 apiVersion: v1 kind: Pod metadata: name: foo-pod namespace: foo labels: name: foo-pod spec: containers: - name: foo image: bar/foo:latest ports: - containerPort: 8080 

 apiVersion: v1 kind: Service metadata: name: foo-service namespace: foo spec: type: NodePort ports: - port: 8080 - NodePort: 33333 selector: name: foo-pod 

部署在:

 $ kubectl apply -f foo.yaml $ nc -v <publicIP> 33333 Connection refused 

我不明白为什么我不能访问它…

问题是应用程序正在监听IP 127.0.0.1 。 它需要听取0.0.0.0在kubernetes工作。 应用程序代码的更改没有办法。