繁体   English   中英

在kubernetes中访问docker容器

[英]access docker container in kubernetes

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

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

我可以用以下方法进行测试:

$ 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中工作。 更改应用程序代码可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM