docker-compose.yml内容如下:

version: '3'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
    container_name: es01
# 特权模式:允许内存锁定
    privileged: true
    # 重启策略:故障自动重启
    restart: always
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms31g -Xmx31g
      - xpack.security.enabled=false
      - bootstrap.memory_lock=true  # 锁定内存,禁用SWAP
    ports:
      - "9200:9200"
    volumes:
      - /opt/elasticsearch/data:/usr/share/elasticsearch/data

  kibana01:
    image: docker.elastic.co/kibana/kibana:8.12.0
    container_name: kibana01
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://es01:9200
    depends_on:
      - es01

排查过程:

1)(base) root@root:/opt/elasticsearch# docker exec -it kibana01 curl http://es01:9200

执行,一直卡着,没有响应

2)(base) root@root:/opt/elasticsearch# docker exec -it kibana01 curl http://192.168.1.101:9200

可以,是通的

{
  "name" : "45a3c2e84da9",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "QWRetQhrToOlo-LfUUIohw",
  "version" : {
    "number" : "8.12.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "1665f706fd9354802c02146c1e6b5c0fbcddfbc9",
    "build_date" : "2024-01-11T10:05:27.953830042Z",
    "build_snapshot" : false,
    "lucene_version" : "9.9.1",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

访问不了的原因为:

宿主机 iptables FORWARD 链拦截了 docker 网桥内部流量

解决方法:

(base) root@root:/opt/elasticsearch# docker exec -it kibana01 getent hosts es01
192.24.0.2      es01

(base) root@root:/opt/elasticsearch# iptables -A FORWARD -s 192.24.0.0/16 -j ACCEPT

(base) root@root:/opt/elasticsearch# iptables -A FORWARD -d 192.24.0.0/16 -j ACCEPT

(base) root@root:/opt/elasticsearch# iptables-save

再次访问:

(base) root@root:/opt/elasticsearch# docker exec -it kibana01 curl http://es01:9200

(base) root@root:/opt/elasticsearch# docker exec -it kibana01 curl http://es01:9200
{
  "name" : "45a3c2e84da9",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "QWRetQhrToOlo-LfUUIohw",
  "version" : {
    "number" : "8.12.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "1665f706fd9354802c02146c1e6b5c0fbcddfbc9",
    "build_date" : "2024-01-11T10:05:27.953830042Z",
    "build_snapshot" : false,
    "lucene_version" : "9.9.1",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

更多推荐