docker 使用 mailcatcher 编写 rails 6 个示例不起作用

docker compose rails 6 example with mailcatcher doesn´t work

我有这个文件"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"  

当我尝试在 rails 网络应用程序上从我的 ruby 发送电子邮件时,出现此错误:

谁能帮我找出我做错了什么?。谢谢

这是因为您无法通过127.0.0.1访问服务。如果您的服务在同一网络上,您将能够通过您传递的 links 指令访问它,例如将您的地址从 127.0.0.1 更改为 mailcatcher。如果您的服务在不同的网络中 - 您可以在需要调用的服务上打开端口,然后通过机器本地 ip 地址访问它(不是 127.0.0.1 而是通过本地网络中的 physical/virtual 机器 ip 地址)