我已经将Rails应用程序(本地开发机)迁移到Docker-Compose。除Worker Rails实例(批次)无法连接到Redis之外,其他所有组件都在工作。
Completed 500 Internal Server Error in 40ms (ActiveRecord: 2.3ms)
Redis::CannotConnectError (Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)):
Run Code Online (Sandbox Code Playgroud)
在我的docker-compose.yml中
redis:
image: redis
ports:
- "6379:6379"
batch:
build: .
command: bundle exec rake environment resque:work QUEUE=*
volumes:
- .:/app
links:
- db
- redis
environment:
- REDIS_URL=redis://redis:6379
Run Code Online (Sandbox Code Playgroud)
我认为Redis实例可通过Docker主机的IP获得。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.0
Run Code Online (Sandbox Code Playgroud)
通过0.0.0.0访问不起作用
$ curl 0.0.0.0:6379
curl: (7) Failed to connect to 0.0.0.0 port 6379: Connection refused …Run Code Online (Sandbox Code Playgroud)