Docker群:无法从同一部署的容器内部访问公共服务

时间:2020-05-25 20:32:00

标签: docker docker-swarm-mode

我的设置:我有一个机器泊坞窗群“集群”。 简而言之,我有一个由两个服务A和B组成的堆栈部署。这两个服务(通过外部覆盖网络)连接到另一个运行traefik代理的堆栈,以将这些服务公开。 我可以通过浏览器的traefik路由访问这两种服务。

什么不起作用: 我无法使用A的公共域从服务B内访问服务A (通过其traefik路由)。尝试进行HTTP调用时,总是会出现连接超时。

我这是一些可以用某些选项解决的常规行为,还是我的设置有问题?我了解到endpoint_mode: dnsrr在这种情况下可能会有所帮助,但对我而言并没有任何改变。我在两种服务以及traefik服务上都尝试过。

我不想在这里用我的计算机和群集部署的所有配置详细信息让您不知所措,因为如果我犯了一个从问题描述中显而易见的配置错误,那可能会过大。

对于有抱负的读者,这里有一些进一步的细节:

$ docker info
Client:
 Debug Mode: false

Server:
 Containers: 125
  Running: 59
  Paused: 0
  Stopped: 66
 Images: 328
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: loki
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: active
  NodeID: juwtdqk60ufj3rityctog7ev0
  Is Manager: true
  ClusterID: 3mte2zcw4nfc1jq17dzwvtoi3
  Managers: 1
  Nodes: 1
  Default Address Pool: 10.0.0.0/8
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 178.254.21.80
  Manager Addresses:
   178.254.21.80:2377
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-96-generic
 Operating System: Ubuntu 18.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.41GiB
 Name: rv1324
 ID: L7JD:POVR:EPMY:JGMF:3BFX:DQJA:B5KK:O3PG:YH44:TNLJ:YD3I:GROZ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

我要部署的集群堆栈可以在这里找到 https://github.com/skuzzle/cmp/blob/0f8004b41f1a486fee7b6705c4bcbc39a2414412/swarm-stack/feature.yml 连接问题在cmpauthorizationcpmfrontend服务之间。为了完成OAuth2授权过程,后者需要将POST请求发送到授权服务的公共域。

0 个答案:

没有答案