Home > OS >  How to set service url http://localhost:8080 for running 'docker-compose up web'
How to set service url http://localhost:8080 for running 'docker-compose up web'

Time:05-29

I'm relatively new to Docker and I was asked to make my C# WebAPI (.NET 6) start with the url http://localhost:8080 when running the command 'docker-compose up web'.

I've read many articles but I still haven't found a way to achieve this.

I'm using Visual Studio 2022.

Can someone help, please?

CodePudding user response:

If your app listens on port 80 like it'll do unless you've changed the configuration, then you map port 80 on the container to port 8080 on the host using a ports: section like this in your docker-compose.yml file

services:
  webapi:
    build:
      context: ./api
    ports:
      - 8080:80

Then you'll be able to access it on http://localhost:8080/

Be aware that Swagger isn't available by default when you run a .NET app in a docker container, so you have to access the 'real' API endpoints. If you want Swagger to be available, you need to set the environment variable ASPNETCORE_ENVIRONMENT to 'Development'.

  • Related