Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Docker-Compose prüft, ob die MySQL-Verbindung bereit ist

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

Der API-Container startet nicht, bis der DB-Container fehlerfrei ist (im Grunde bis mysqladmin hochgefahren ist und Verbindungen akzeptiert.)