elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana" /> elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana" />

如何更改Kibana Docker映像的端口号

如何更改Kibana Docker映像的端口号,docker,elasticsearch,docker-compose,kibana,Docker,elasticsearch,Docker Compose,Kibana,我正在用Docker运行Kibana 下面是我用来运行Kibana Fluentd和Elastic Search的docker compose version: '2' services: elasticsearch: image: elasticsearch expose: - 9200 ports: - "9200:9200" networks: - cloud fluentd: build:

我正在用Docker运行Kibana

下面是我用来运行Kibana Fluentd和Elastic Search的docker compose

version: '2'
services:
  elasticsearch:
    image: elasticsearch
    expose:
      - 9200
    ports:
      - "9200:9200"
    networks:
      - cloud      


  fluentd:
    build: ./fluentd
    volumes:
      - ./fluentd/conf:/fluentd/etc
    links:
      - "elasticsearch"
    ports:
      - "24224:24224"
      - "24224:24224/udp"
    networks:
      - cloud  


  kibana:
    image: kibana
    links:
      - "elasticsearch"
    ports:
      - "9201:5601"
    networks:
      - cloud

networks:
  cloud:
   driver: bridge  
我的问题陈述如下:

我想在
9201
端口上运行Kibana。我在docker-compose.yml中也提到过同样的问题 它仍然在默认端口上运行
5601

请让我知道在
9201

上运行Kibana需要做哪些更改使用以下命令:

kibana:
image: kibana
links:
  - "elasticsearch"
ports:
  - "9201:5601"
networks:
  - cloud
编辑:

说明: 您的服务kabana正在集装箱的5601端口上运行。所以

ports:
   -"9201:5601"

将容器的端口5601链接到主机的端口9201。

您无法控制映像的内部端口,但可以将内部端口“5601”映射到您想要的端口“9201”,如上面的@Vamsi answer所示。

您需要通过
服务器端口
环境变量设置端口。当您在
主机
网络中运行容器时,这是非常实用的。

我已经按照@Vamsi的说明更改了docker compose中的端口。我想更改端口的原因是
5601
由于从外部VM调用而被阻止。如果我打电话给
http://host-name:9201
我的连接超时。我的问题还是一样。如果我做错了什么,请提出建议。确保您的容器已安装好。您试图从哪台机器访问kabana服务?这和docker容器运行的地方不同吗?所有容器都运行在ubuntu机器上,我在那里安装了docker。我正试图像任何公共互联网一样从VM外部访问容器。我使用zuul路由使用api网关调用服务。我可以看到调用正在登录到api网关。例如
http://hostname:9201
它没有将请求转发给kibana 5601这是否与kibana image有关的问题???@Binary我不确定,我是第一次实现kibana,我正在使用docker image
kibana:image:kibana
我已经做了更改,但我的问题仍然没有改变。似乎有一些环境变量需要根据以下文档在docker compose文件中设置