Skip to content

Docker Compose Beispiel, Fehler DB Container Name #540

@kevinpapst

Description

@kevinpapst

Feedback aus der Community

ich habe heute versucht den Kimai durch den Docker zu installieren.
Nach der Installation, die Containern wurden geheißen "kimai" als "kimai-kimai-1" und "sqldb" als "kimai-sqldb-1".

 ✔ Network kimai_default    Created                                  
                 0.3s
 ✔ Volume "kimai_data"      Created                                  
                 0.0s
 ✔ Volume "kimai_plugins"   Created                                  
                 0.0s
 ✔ Volume "kimai_mysql"     Created                                  
                 0.0s
 ✔ Container kimai-kimai-1  Created                                  
                 2.1s
 ✔ Container kimai-sqldb-1  Created

Deswegen Container "kimai-kimai-1" den Connection konnte nicht verifizieren, weil der Name von "kimai-sqldb-1" hardcoded in der yml-datei war. Siehe https://www.kimai.org/documentation/docker-compose.html

DATABASE_URL=mysql://${DATABASE_USER}:${DATABASE_PASSWORD}@sqldb/${DATABASE_NAME}?charset=utf8mb4&serverVersion=8.3.0
kimai-1  | Testing DB:SQLSTATE[HY000] [2002] No route to host
(?)Checking DB: 10
kimai-1  | + php /dbtest.php sqldb kimai 3306 kmuser km12345
kimai-1  | + echo Checking DB: 10
kimai-1  | + sleep 3

Meine Empfehlung ist, auch für den Container-Namen eigene Optionen zuverwenden:

DATABASE_URL=mysql://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_SERVERNAME}/${DATABASE_NAME}?charset=utf8mb4&serverVersion=8.3.0

Außerdem, verwendete ich natürlich den Container-Namen als Parametern.

    container_name: ${DATABASE_SERVERNAME}
    container_name: ${KIMAI_SERVERNAME}

Meine Dateien, mit den ich erfolgreich den Kimai installieren konnte, sind in dem Anhang.

Hier die .env

DATABASE_NAME=kimai
DATABASE_USER=kmuser
DATABASE_PASSWORD=km12345
DATABASE_ROOT_PASSWORD=sql12345
[email protected]
ADMIN_PASSWORD=adm12345
DATABASE_SERVERNAME=srv-db
KIMAI_SERVERNAME=srv-kimai

und die docker-compose.yml

services:

  sqldb:
    image: mysql:8.3
    container_name: ${DATABASE_SERVERNAME}
    volumes:
      - mysql:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=${DATABASE_NAME}
      - MYSQL_USER=${DATABASE_USER}
      - MYSQL_PASSWORD=${DATABASE_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${DATABASE_ROOT_PASSWORD}
    command: --default-storage-engine innodb
    restart: unless-stopped
    healthcheck:
      test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhost
      interval: 20s
      start_period: 10s
      timeout: 10s
      retries: 3

  kimai:
    image: kimai/kimai2:apache
    container_name: ${KIMAI_SERVERNAME}
    volumes:
      - data:/opt/kimai/var/data
      - plugins:/opt/kimai/var/plugins
    ports:
      - 8001:8001
    environment:
      - ADMINMAIL=${ADMIN_EMAIL}
      - ADMINPASS=${ADMIN_PASSWORD}
      - "DATABASE_URL=mysql://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_SERVERNAME}/${DATABASE_NAME}?charset=utf8mb4&serverVersion=8.3.0"
    restart: unless-stopped

volumes:
  data:
  mysql:
  plugins:
```

Metadata

Metadata

Assignees

No one assigned

    Labels

    dockerPull requests that update docker related docs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions