Проблеми з налаштуванням статичної конфігурації Traefik можуть виникати при спробі використання змінних середовища. У цій статті розглянуто сценарій, в якому використання змінних середовища призводить до помилок та можливі шляхи вирішення цієї проблеми.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
version: '3' services: traefik: image: traefik:v3.0 environment: - TRAEFIK_API_INSECURE=true - TRAEFIK_PROVIDERS_DOCKER=true - TRAEFIK_LOG_LEVEL=INFO - TRAEFIK_ENTRYPOINTS_WEBSECURE=true - TRAEFIK_ENTRYPOINTS_WEB=true - TRAEFIK_ENTRYPOINTS_WEB_ADDRESS=:80 - TRAEFIK_ENTRYPOINTS_WEBSECURE_ADDRESS=:443 ports: - "443:443" - "80:80" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock version: '3.8' services: db: image: postgres:14.1-alpine container_name: ${CONTAINER_NAME} restart: always labels: - "traefik.http.routers.ec-pgsql.rule=Host(`test-pgsql.test.hu`)" - "traefik.http.routers.ec-pgsql.entrypoints=http" environment: - POSTGRES_USER=${PG_USER:?"Set Postgresql usename in ./.env or or give the parameter in Jenkins"} - POSTGRES_PASSWORD=${PG_PASSWORD:?"Set Postgresql password in ./.env or give the parameter in Jenkins"} - LC_ALL=$LC_ALL ports: - '5432:5432' volumes: - ${PGSQL_DATA:?"Set PGSQL_DATA environment"}:/var/lib/postgresql/data - /etc/localtime:/etc/localtime:ro volumes: db: driver: local |
1 |
При спробі використання змінних середовища для налаштування статичної конфігурації Traefik можуть виникати проблеми. На практиці, при використанні вказаних змінних, з'являються помилки, які призводять до некоректної роботи сервера. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Прикладом такої проблеми є помилка, що виникає при спробі використати наступні змінні середовища для налаштування точок входу Traefik: - TRAEFIK_ENTRYPOINTS_WEBSECURE=true - TRAEFIK_ENTRYPOINTS_WEB=true - TRAEFIK_ENTRYPOINTS_WEB_ADDRESS=:80 - TRAEFIK_ENTRYPOINTS_WEBSECURE_ADDRESS=:443 При цьому сервер Traefik не запускається належним чином, і в логах можна побачити такі повідомлення: 2024-02-27T13:04:30Z INF Starting provider *docker.Provider 2024-02-27T13:04:31Z ERR EntryPoint doesn't exist entryPointName=http routerName=ec-pgsql@docker 2024-02-27T13:04:31Z ERR No valid entryPoint for this router routerName=test-pgsql@docker Виправити цю проблему можливо за допомогою зміни порядку визначення змінних середовища, наприклад: - TRAEFIK_ENTRYPOINTS_WEB=true - TRAEFIK_ENTRYPOINTS_WEBSECURE=true - TRAEFIK_ENTRYPOINTS_WEB_ADDRESS=:80 - TRAEFIK_ENTRYPOINTS_WEBSECURE_ADDRESS=:443 Це дозволить коректно налаштувати Traefik і уникнути помилок при його запуску. |