在Mac上使用Postgres的Docker卷

时间:2018-09-06 20:40:34

标签: postgresql macos docker docker-volume

我正在尝试在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

旨在将postgres在docker容器中启动,并将数据库数据持久保存在我的本地文件系统中的/Volumes/docker/postgres中。但是,出现以下错误,并且容器无法运行:

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

有什么想法我可以做些什么吗?

2 个答案:

答案 0 :(得分:3)

证明/Volumesroot拥有。当我将其切换为/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

答案 1 :(得分:0)

jerney的答案是正确的,这是docker-compose.yaml的样子:

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

Docker compose volumes info