- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 docker 设置集群,但在容器之间通信时遇到问题。我有 5 个节点的集群。 1 名经理和 4 名 worker 。
3 个应用:redis、splash、myapp
myapp 必须位于 4 个工作线程上
redis,仅在管理器上启动
myapp 必须能够与 redis 和splash 通信
我尝试使用容器名称,但它不起作用。它将容器名称解析为不同的IP。
ping Splash # 返回与容器实际不同的 ip
我正在使用docker stack
部署运行群
docker stack deploy -c docker-stack.yml myapp
它们之间的链接容器也不起作用。有任何想法吗 ?我错过了什么吗?
root@swarm-manager:~# docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:42:18 2017
OS/Arch: linux/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:56 2017
OS/Arch: linux/amd64
Experimental: false
docker-stack.yml 包含:
version: "3"
services:
splash:
container_name: splash
image: scrapinghub/splash
ports:
- 8050:8050
- 5023:5023
deploy:
mode: global
placement:
constraints:
- node.role == manager
redis:
container_name: redis
image: redis
ports:
- 6379:6379
deploy:
mode: global
placement:
constraints:
- node.role == manager
myapp:
container_name: myapp
image: myapp_image:latest
environment:
REDIS_ENDPOINT: redis:6379
SPLASH_ENDPOINT: splash:8050
deploy:
mode: global
placement:
constraints:
- node.role == worker
entrypoint:
- ping google.com
---- 编辑 ----
我也尝试过使用curl。没用。docker stack deploy -c docker-stack.yml myapp
Creating network myapp_default
Creating service myapp_splash
Creating service myapp_redis
Creating service myapp_myapp
curl http://myapp_splash:8050
curl:(7) 无法连接到 myapp_splash 端口 8050:没有到主机的路由
curl http://splash:8050
curl: (7) 无法连接到启动端口 8050:没有到主机的路由
有效的是获取splash的实际容器名称,这是一些随机生成的字符串。
curl http://myapp_splash.d7bn0dpei9ijpba4q41vpl4zz.tuk1cimht99at9g0au8vj9lkz:8050
但这并没有真正帮助我。
最佳答案
Ping 不是尝试连接服务的正确工具。由于某种原因,它不适用于 docker 网络。尝试 curl http://serviceName相反。
除此之外:使用堆栈部署时无法命名容器,而是使用您的服务名称(巧合的是相同的)来访问另一个服务。
关于docker stack 容器间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46913411/
根据 Android docs ,activity生命周期如下: onCreate() onStart() onResume() onPause() onStop() onDestroy() 问题是,
我有一门类(class)有很多专栏,但这个问题只需要其中三个: ---------------------------------------- | start_date | start_time
给定在同一个 Tomcat 6 上运行的两个 Web 应用程序。如果您从一个应用程序到另一个应用程序进行 http 调用,Tomcat 是否会“短路”此调用,或者它会在调用之前一直在 interweb
我是一名优秀的程序员,十分优秀!