【发布时间】:2018-06-15 14:07:49
【问题描述】:
尝试使用 docker-compose 从 sidekiq worker 运行 selenium。 如果我从 rails 任务运行作业,它会很好地工作。但是当我从 sidekiq 运行时它不起作用。 从 sidekiq 运行 Job 时出现此错误。
Errno::EADDRNOTAVAIL: 无法打开与 localhost:4444 的 TCP 连接(无法分配请求的地址 - connect(2) 用于“localhost”端口 4444)
docker-compose.yml
version: '3'
services:
db:
image: mysql
volumes:
- ./tmp/db:/var/lib/postgresql/data
web:
build: .
command: bundle exec rails s -p 3000 -b '0.0.0.0'
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
redis:
image: redis:latest
ports:
- 6379:6379
sidekiq:
build: .
command: bundle exec sidekiq
volumes:
- .:/myapp
depends_on:
- db
- redis
selenium-hub:
image: selenium/hub:3.12.0-boron
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome:3.12.0-boron
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
firefox:
image: selenium/node-firefox:3.12.0-boron
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
请建议我如何解决此问题
【问题讨论】:
标签: ruby-on-rails ruby selenium docker docker-compose