Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ocelot's and docker-compose is not support each other configurations #82

Open
arminatwork opened this issue Feb 16, 2024 · 0 comments
Open

Comments

@arminatwork
Copy link

Hello. I'm here to tell you the ocelot.json configuration is wrong by this Docker and docker-compose files.
Your host and Ports are using the Docker internal network but I didn't see your config write this network bridge.
we've 2 ways to solve this problem:

First:

  1. change all Host and Ports that you've written in the Ocelot ReRoutes configuration to this config so don't need network-bridge anymore:
    Host: "host.docker.internal"
    Port: "the exposed port in docker-compose file"

I think this will work right.

the final Sample ocelot.json file after I have just changed Host and Ports

"DownstreamPathTemplate": "/api/v1/Discount/{productName}", "DownstreamScheme": "http", "DownstreamHostAndPorts": [ { "Host": "host.docker.internal", "Port": 5003 //this port have exposed in docker-compose.override.yml file }

Second:

  1. create a network bridge in docker-compose and then use that network for all containers.
    In this way, ocelot will use Internal docker network that knows the Host and Ports.

Done.

the final Sample ocelot.json file after I have created the network-bridge

"DownstreamPathTemplate": "/api/v1/Discount/{productName}", "DownstreamScheme": "http", "DownstreamHostAndPorts": [ { "Host": "discount_api", // My container_name "Port": 80 //this port have exposed in DockerFile }

if you have any questions let's be easy and ask.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant