Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

373
Views
docker-compose first-time up and Build, MySql server start slower than .net5 API

I am using MySQL with .net5 web API in docker. My docker configuration is Window10 Home with WSL2.

My Docker-compose and compose.override file like below

docker-compose.yml

version: '3.4'

services:
  userdb:
    image: mysql

  portainer:
    image: portainer/portainer-ce

  usermanagement.api:
    image: ${DOCKER_REGISTRY-}usermanagementapi
    build:
      context: .
      dockerfile: Services/User/User.API/Dockerfile

volumes:
  mysql_data:
  portainer_data:

docker-compose.override.yml

version: '3.4'

services:
  userdb:
    container_name: userdb
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=user
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

  portainer:
    container_name: portainer
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  usermanagement.api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - "ConnectionStrings:DefaultConnection=server=userdb;port=3306;database=user;userid=root;pwd=root;"
    depends_on:
      - userdb
    ports:
      - "8001:80"

Whenever I build or up my docker-compose file the first time (fresh start or cleaning old volume then D-C up). Then it throws error MySql connection error MySqlConnector.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.

Then I have to manually stop and then start my API container. then the connection workss fine.

Am I doing something wrong or any solution for this issue Please share?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

The docket compose docs have some answers.

Either change your app to retry the connection or use a wrapper script that waits for the db port to be ready

https://docs.docker.com/compose/startup-order/

over 4 years ago · Santiago Trujillo Report

0

I was doing a DB migration in the program.cs file. and MySQL server starts slower then .Net5 API server.

To resolve this issue As per @Rosco Answer I have to retry my migration for an exception.

For retrying migration example:

https://github.com/aspnetrun/run-aspnetcore-microservices/blob/master/src/Services/Ordering/Ordering.API/Extensions/HostExtensions.cs

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!