Search code examples
mysqldockerlocalhostdocker-composedevelopment-environment

Local development with docker compose - Using Mysql localhost


I am a beginner with Docker and docker-compose for local development on my Mac. Currently, if I restart my containers, the MySql data is wiped out.

I would like to enable persistent storage for MySql local development.

Is there a way I can connect my application running inside docker container to the MySql running on my Mac Host machine?

My docker-compose.yaml file:

   mysql:
        build: ./mysql
        container_name: mysql
        environment:
            MYSQL_ROOT_PASSWORD: ******
        restart: on-failure
        ports:
            - 3306:3306

Apart from connecting docker application to MySql on local machine, is there any other way to achieve this?


Solution

  • you can solve this problem by using volumes in docker-compose.yaml file. please refer the following links link1, link2. whenever a docker container runs, it will map the volume to the container. Syntax for the volumes in docker-compose.yaml is as follows:

    volumes:
     - <path in host>:<path in container>