我已经将我的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)):
在我的docker-compose.html" target="_blank">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
我认为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
通过0.0.0.0访问不起作用
$ curl 0.0.0.0:6379
curl: (7) Failed to connect to 0.0.0.0 port 6379: Connection refused
我认为可以通过docker-machine IP访问:
$ curl http://192.168.99.100:6379
-ERR wrong number of arguments for 'get' command
-ERR unknown command 'Host:'
编辑
在批处理实例中安装 redis-cli 之后,我能够使用“ redis”主机名访问redis服务器。我认为问题可能出在Rails配置本身中。
Facepalm !!!
泊坞窗容器的通讯正常,问题是我没有告诉Resque(使用Redis的应用程序)在哪里找到它。感谢“ The Real Bill”指出我应该使用docker-
cli。
对于使用Docker和Resque的其他任何人,您都需要在 config / initializers / resque.rb 文件中:
Resque.redis = Redis.new(host: 'redis', port: 6379)
Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection }
问题内容: 我在Windows Home Edition上使用docker工具带。我正在尝试使用docker- compose将Node与Redis一起使用,当我使用来运行映像(在同一源目录中)时,它运行良好,但是当我尝试使用来运行Node时,我的Node应用程序不是’无法连接到Redis。 抛出: 我相信这是因为我的节点应用程序无法找到Redis,即使当我使用该应用程序正在运行时,我也无法在相应
我使用windows docker工具箱,我很困惑我错过了什么。我想使用redis commander(https://www.npmjs.com/package/redis-Commander)和来自docker Hub的docker图像redis。 我使用了上面链接中的docker-compose.yml: 在 工作,我可以到达服务器和er本地:6379 但是是什么意思 有什么帮助来正确设置这
但是,我需要它从我们的nexus服务中提取:。在docker-compose文件中,我已经使用了正确的nexus图像路径。(通过用docker-compose手动启动它来验证。然而,TestContainers也会拉入docker-compose文件之外的其他图像。正是这些图像导致了失败。 我很高兴Docker Desktop或TestContainers的配置更改能解决这个问题。 注意:我已经尝
我已经通过运行以下命令在CentOS 7上安装了docker, 注意:helloworld运行正常,没有问题。 但是,当我尝试运行(docker-compose.yml存在且有效)时,它只给我CentOS上的错误(Windows版本适用于docker-composefile)
我有一个在节点容器和redis容器中运行的express API。当试图将节点容器连接到redis时,我遇到了以下错误。
问题内容: 我在设置中运行官方Redis镜像https://hub.docker.com/_/redis/。 如何在该图像上使用docker-compose 运行? 我尝试了以下操作,但未连接: 图片的文档说我应该运行: 这是什么意思? 问题答案: 那会覆盖默认值:您试图在从未执行过的容器上运行。 如此处所述,您还可以使用以下方法进行测试: 如这个docker / compose问题2123 所述