Mysql
 sql >> Base de données >  >> RDS >> Mysql

Docker-compose vérifie si la connexion mysql est prête

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

Le conteneur api ne démarrera pas tant que le conteneur db ne sera pas sain (essentiellement jusqu'à ce que mysqladmin soit opérationnel et accepte les connexions.)