簡體   English   中英

如何在 Docker 桌面 Windows 10 中使用 IP ADDRESS 從主機訪問容器(尤其是使用 Z05E406053C418A2DA1)

[英]How to access container from host using IP ADDRESS in Docker Desktop Windows 10 (esspecially with use docker compose)?

我應該怎么做才能通過 IP ADDRESS 而不是 PORT 訪問容器? 我可以定義任何類型的網絡或網橋嗎?

我在 Windows 10 上使用帶有 WSL2 的標准 Docker 桌面。這需要將容器公開為機器而不是端口。

我試試這個但不起作用:)

這個組合非常復雜,但你可以使用純 Ubuntu 圖像來測試它——不管是什么圖像。

networks:
  cassandra:
volumes:
  cassandra-data-1:
    driver: local
  cassandra-log-1:
    driver: local
  cassandra-data-2:
    driver: local
  cassandra-log-2:
    driver: local
  cassandra-data-3:
    driver: local
  cassandra-log-3:
    driver: local
  cassandra-data-4:
    driver: local
  cassandra-log-4:
    driver: local

services:
  cassandra-1:
    image: cassandra:4.0.5
    container_name: cassandra-1
    hostname: dc-cassandra-1
    mem_limit: 2g
    networks:
      - cassandra
    environment: &cassandra_environment
      MAX_HEAP_SIZE: 1G
      HEAP_NEWSIZE: 100M
      CASSANDRA_SEEDS: dc-cassandra-1,dc-cassandra-2,dc-cassandra-3,dc-cassandra-4
      CASSANDRA_CLUSTER_NAME: dptr-v2
      CASSANDRA_DC: dptr-v2-dc0
      CASSANDRA_RACK: dptr-v2-r0
    volumes:
      - cassandra-data-1:/var/lib/cassandra
      - cassandra-log-1:/var/log/cassandra

  cassandra-2:
    image: cassandra:4.0.5
    container_name: cassandra-2
    hostname: dc-cassandra-2
    mem_limit: 2g
    networks:
      - cassandra
    environment: *cassandra_environment
    volumes:
      - cassandra-data-2:/var/lib/cassandra
      - cassandra-log-2:/var/log/cassandra

  cassandra-3:
    image: cassandra:4.0.5
    container_name: cassandra-3
    hostname: dc-cassandra-3
    mem_limit: 2g
    networks:
      - cassandra
    environment: *cassandra_environment
    volumes:
      - cassandra-data-3:/var/lib/cassandra
      - cassandra-log-3:/var/log/cassandra

  cassandra-4:
    image: cassandra:4.0.5
    container_name: cassandra-4
    hostname: dc-cassandra-4
    mem_limit: 2g
    networks:
      - cassandra
    environment: *cassandra_environment
    volumes:
      - cassandra-data-4:/var/lib/cassandra
      - cassandra-log-4:/var/log/cassandra

您無法通過 Windows 主機的 IP 地址訪問 Linux 容器。 (...或者在 MacOS 主機上,或者如果您使用基於 VM 的 Docker 解決方案,或者如果客戶端與容器不在同一主機上,或者...)通過其發布的ports:訪問容器ports:相反。 無需查找容器的 Docker 內部 IP 地址。

Docker 桌面文檔說明,在“所有平台的已知限制”下:

每個容器的 IP 尋址是不可能的:docker 橋接網絡無法從主機訪問。 但是,如果您是 Windows 用戶,則它適用於 Windows 容器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM