ruby-on-rails - docker compose rails 6 example with mailcatcher 不起作用
问题描述
我有这个文件“docker-compose.yml”
version: '3'
services:
web:
build: .
#command: bash -c "foreman start -f Procfile.dev-server"
ports:
- "3000:3000"
volumes:
- .:/app
environment:
DATABASE_HOST: database
POSTGRES_USER: postgres
POSTGRES_PASSWORD: miclave
POSTGRES_DB: myapp_development
links:
- mailcatcher
depends_on:
- database
stdin_open: true
tty: true
database:
image: postgres
ports:
- "5432:5432"
volumes:
- .:/app
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: miclave
POSTGRES_DB: myapp_development
mailcatcher:
image: zolweb/docker-mailcatcher:latest
ports:
- "1025:1025"
- "1080:1080"
当我尝试从我的 ruby on rails web 应用程序发送电子邮件时,我收到此错误:
谁能帮我找出我做错了什么?谢谢
解决方案
这是因为您无法通过127.0.0.1
. 如果您的服务在同一网络上,您将能够通过links
您传递的指令访问它,例如将您的地址从 更改127.0.0.1
为mailcatcher
。如果您的服务位于不同的网络中 - 您可以在需要调用的服务上打开端口,然后通过机器本地 IP 地址访问它(不是127.0.0.1
本地网络中的物理/虚拟机 IP 地址,而是通过本地网络中的物理/虚拟机 IP 地址)
推荐阅读
- javascript - 我如何才能使用另一个过滤器来显示与范围匹配的结果?
- spring - 弹簧数据。使用蛇案例参数排序
- python - 使用 PyMongo 将 JSON 分块保存
- php - JSON 输出使用 PHP ajax 返回 null
- .net - 是否可以通过 Facebook Graph API 获得与一位业务经理相关的广告活动?
- windows - AWS Windows EC2 启动脚本未运行
- python - 如何在python中更改时间戳列顺序?
- pandas - 使用 pandas 和 xlsxwriter 在 excel 中增加不同工作表上的列宽
- php - “TypeError: implode(): Argument #2 ($array) must be of type ?array, string given”在 PHP 8 中
- react-data-table-component - 我们可以在反应数据表组件的一列下使用两个选择器吗?