Docker 卷 Mac 与 Postgres

Docker Volumes on Mac with Postgres

我正在尝试 运行 在 Mac OSX 上执行以下命令:

docker run --rm --name kong-database \
    --network=kong-net \
    -v /Volumes/docker/postgres:/var/lib/postgresql/data \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    postgres:9.6

目的是它将在 docker 容器中启动 postgres,并将数据库数据保存在 /Volumes/docker/postgres 中我的本地文件系统中。但是,我收到以下错误,容器无法 运行:

chown: changing ownership of '/var/lib/postgresql/data': Operation not permitted

知道我可以做些什么吗?

原来 /Volumes 的所有者是 root。当我将它切换为 /Users/JoshuaErney/Volumes 之类的东西时,这个 运行 成功了。这是一个例子:

docker run --rm --name kong-database \
    --network=kong-net \
    -v /Users/JoshuaErney/Volumes/docker/postgres:/var/lib/postgresql/data \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    postgres:9.6

jerney 的回答是正确的,下面是 docker-compose.yaml 的样子:

services:
  test-postgres-compose :
    ...
    volumes :
      - pgdata:/var/lib/postgresql/data
...
volumes :
  pgdata :

Docker compose volumes info