難以理解網絡在 nomad 上的工作原理

難以理解網絡在 nomad 上的工作原理

有人可以解釋為什麼我無法透過 nomad 造訪在 docker 容器中運行的網站或我做錯了什麼嗎?我是系統和網路的初學者。

我想讓容器http監聽127.0.0.1:8088,以便nginx可以代理。

Nomad伺服器和客戶端運作在同一台機器上

機器是 fedora,停用 SELinux,停用防火牆。

我的期望:對 <server_ip>:8088 的請求回應網站

我得到的結果是:回應是連線被拒絕。

游牧者會議:

data_dir  = "/opt/nomad/data"
bind_addr = "0.0.0.0"
log_level = "DEBUG"

server {
  # license_path is required for Nomad Enterprise as of Nomad v1.1.1+
  #license_path = "/etc/nomad.d/license.hclic"
  enabled          = true
  bootstrap_expect = 1
}
acl {
   enabled = true
}

client {
  enabled = true
  servers = ["127.0.0.1"]
}

游牧工作:


job "ctprods-app" {
  datacenters = ["*"]

  group "ctprods-group" {
    count = 1
    network {
      port "http" {
         static = 8088
         to = 8088
      }
    }
    task "ctprods-task" {
      driver = "docker"
      env {
          ENVIRONMENT = "production"
      }
      config {
        image = "ctaque/ctprods:latest"
        ports = [
          "http"
        ]
      }
    }
  }
}

nginx 區塊:

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://127.0.0.1:8088/;
}

ss-nplut:

tcp LISTEN  0  4096 <server_public_ip>:8088 0.0.0.0:*

遊牧工作端口圖: 游牧工作港口地圖

游牧作業正在運作: 游牧作業運行

相關內容