Mysql
 sql >> Database >  >> RDS >> Mysql

Docker-compose controlla se la connessione mysql è pronta

version: "2.1"
services:
    api:
        build: .
        container_name: api
        ports:
            - "8080:8080"
        depends_on:
            db:
                condition: service_healthy
    db:
        container_name: db
        image: mysql
        ports:
            - "3306"
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
            MYSQL_USER: "user"
            MYSQL_PASSWORD: "password"
            MYSQL_DATABASE: "database"
        healthcheck:
            test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
            timeout: 20s
            retries: 10

Il contenitore API non si avvierà fino a quando il contenitore db non sarà integro (in pratica fino a quando mysqladmin non sarà attivo e accetta le connessioni.)