我正在尝试在Azure中部署一个PosgreSQL Docker容器。为此,我在Azure中创建了一个存储帐户和一个文件共享来存储Docker卷。
此外,我创建了Docker Azure上下文并将其设置为默认值。
要创建卷,我运行:
volume create volpostgres --storage-account mystorageaccount
我可以使用 docker volume ls
命令来验证卷是否已创建。
ID DESCRIPTION
mystorageaccount/volpostgres Fileshare volpostgres in mystorageaccount storage account
当我尝试使用docker compose up
进行部署时,出现了错误。
could not find volume source "volpostgres"
这是无法工作的YAML文件。 如何修复它? 如何正确指向卷?
version: '3.7'
services:
postgres:
image: postgres:13.1
container_name: cont_postgres
networks:
db:
ipv4_address: 22.225.124.121
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: xxxxx
volumes:
- volpostgres:/var/lib/postgresql/data
networks:
db:
driver: bridge
ipam:
driver: default
config:
- subnet: 22.225.124.121/24
volumes:
volpostgres:
name: mystorageaccount/volpostgres
docker compose up
worked, however I'm getting this error in the Azure log. How to define the owner?2020-11-24 03:17:42.236 UTC [84] FATAL: data directory "/var/lib/postgresql/data" has wrong ownership 2020-11-24 03:17:42.236 UTC [84] HINT: The server must be started by the user that owns the data directory.
- ps0604