簡體   English   中英

Docker Swarm集群上Couchbase容器的訪問IP地址

[英]Access IP address of Couchbase container on Docker Swarm cluster

嘗試在Docker Swarm集群上運行Couchbase集群。 啟動群集后,我想動態獲取每個Couchbase實例的IP地址。 docker inspect顯示:

"NetworkSettings": {
        "Bridge": "",
        "SandboxID": "325807d55b552be3fe5b44b4d975c2486b3a56b320aa56fa0367e42348b82d64",
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "11207/tcp": null,
            "11210/tcp": [
                {
                    "HostIp": "192.168.99.101",
                    "HostPort": "11210"
                }
            ],

嘗試訪問IP地址會出現錯誤:

docker inspect --format '{{ .NetworkSettings.Ports.8091/tcp[0].HostIp }}' 922755302fef
Template parsing error: template: :1: unexpected ".8091" in operand; missing space?

什么是訪問IP地址的正確格式?

.NetworkSettings.Ports屬性是一個映射,而不是一個結構。 您可以使用index模板功能來訪問地圖(以及切片)值:

$ docker inspect --format '{{ index .NetworkSettings.Ports "8091/tcp" 0 "HostIp" }}'

但是請注意,這可能並不總是返回您期望的結果。 如果將容器配置為在所有主機接口上偵聽,則將僅返回0.0.0.0 您可以查看Docker 1.9引入的網絡功能 ,而無需依賴查找主機IP地址。

暫無
暫無

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

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