Я пытался настроить базу данных Postgresql с помощью своего API. Мой API находится в Azure WebApps, а db — в файловом ресурсе Azure.
Ниже приведен мой файл компоновки докеров.
version: '3.3'
services:
db:
image: postgres
volumes:
- db_path:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_USER: dbuser
POSTGRES_PASSWORD: dbuser's_password
POSTGRES_DB: db_1
api:
depends_on:
- db
image: <my registry>.azurecr.io/api:latest
ports:
- "80:80"
restart: always
My WebApp -> Конфигурация -> Сопоставления путей ниже
Он был развернут, но мне не удалось найти файлы базы данных в моем файловом ресурсе Azure. Теперь, когда я повторно развертываю, я вижу следующее в файле Log Stream
.
Может кто-нибудь показать мне, где я сделал неправильно? Почему моей БД нет в моей общей папке Azure?
заранее спасибо
Изменить:
Наряду с тем, что предложил Чарльз, как показано ниже:
Я также обновил файл docker-compose.yml, как показано ниже. Изменения, которые я внес, заключаются в том, что я сохранил имя тома таким же, как имя сопоставления, и добавил driver_opts
:
version: '3.8'
services:
db:
image: mysql
volumes:
- mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=dbName
- MYSQL_ROOT_PASSWORD=MyRootPassword!
- MYSQL_USER=dbUser_1
- MYSQL_PASSWORD=dbUser_1'sPassword
restart: always
api:
depends_on:
- db
entrypoint: ["./wait_for.sh", "db:3306", "-t", "3600", "--", "execute", "api"] #waiting very long enough to set the db server up and running
image: <my registry's url>/api:latest
ports:
- "80:80"
restart: always
volumes:
mysql:
driver: azure_file
driver_opts:
share_name: Azure_Share_Name
storage_account_name: Azure_Storage_Account_Name
storageaccountkey: Azure_Key