Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Compose Beispiel, Fehler DB Container Name #540

Open
kevinpapst opened this issue Feb 10, 2025 · 0 comments
Open

Docker Compose Beispiel, Fehler DB Container Name #540

kevinpapst opened this issue Feb 10, 2025 · 0 comments
Labels
docker Pull requests that update docker related docs

Comments

@kevinpapst
Copy link
Member

kevinpapst commented Feb 10, 2025

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:
```
@kevinpapst kevinpapst added the docker Pull requests that update docker related docs label Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker Pull requests that update docker related docs
Projects
None yet
Development

No branches or pull requests

1 participant