Не могу понять, как убрать дублирование данных о подключении к базе в .env файле symfony4 проекта.
#.env
DB_NAME=storage
DB_USERNAME=nds
DB_PASSWORD=123456
DATABASE_URL=mysql://nds:123456@storage:3306/storage
Структура каталогов:
app
vendor
...
.env
docker
php
nginx
docker-compose.yml
В docker-compose.yml задаю параметры подключения по ENV-ам:
mysql:
image: mysql:8
container_name: storage
env_file:
- ./app/.env
environment:
- MYSQL_DATABASE: ${DB_NAME}
- MYSQL_USER: ${DB_USERNAME}
- MYSQL_PASSWORD: ${DB_PASSWORD}
если верить документации надо указать файл с определением переменнымых окружения, а не каталог, где его искать. При этом путь к файлу должен быть относительно docker-compose.yml. Следовательно для того, чтобы переиспользовать файл переменных окружения необходимо исправить на следующий вид
mysql:
image: mysql:8
container_name: storage
env_file:
- ./app/.env
UPDATE 1: В свете уточнений вопроса можно предложить вариант с использованием переменных окружения в момент использования docker-compose.
Что то вроде этого:
В файл ./app/params
пишем
export DB_USERNAME=myuser
export DB_PASSWORD=mypassword
export DB_NAME=mydb
docker-compose.yml будет иметь вид:
app:
image: app_image:1.2.3
container_name: application
environment:
- MYSQL_DATABASE: ${DB_NAME}
- MYSQL_USER: ${DB_USERNAME}
- MYSQL_PASSWORD: ${DB_PASSWORD}
mysql:
image: mysql:8
container_name: storage
environment:
- DATABASE_URL: mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_NAME}:3306/storage
- MYSQL_DATABASE: ${DB_NAME}
- MYSQL_USER: ${DB_USERNAME}
- MYSQL_PASSWORD: ${DB_PASSWORD}
Тогда запуск контейнеров можно написать так:
source ./app/params && docker-compose pull && docker-compose up -d
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
я пытаюсь сделать так чтобы после закрытия приложения свайпом из списка приложений, появлялись уведомления в заданное времяЯ подправил...
При динамическом создании CheckBox, не переносится текстДобавляю следующим образом:
Есть метод, в котором алгоритм прописан через обычную итерацию по List: