docker-compose up postgresql 错误,chown:更改“/var/lib/postgresql/data”的所有权:不允许操作

Tak*_*abe 5 docker docker-compose postgresql-9.5

我正在一个项目中工作,我们使用 docker。该项目一直很好,直到上周五,今天我启动我的计算机(mac mini - macOS Sierra 版本 10.12.5 (16F73))时出现错误。\n我\正在尝试运行docker-compose -f dev.yml -f docker-compose.yml up,但当我执行此命令时,它返回以下消息:

\n\n

db_1 | chmod: changing permissions of \xe2\x80\x98/var/lib/postgresql/data\xe2\x80\x99: Operation not permitted

\n\n

我已经删除了所有 docker 容器和镜像docker rm $(docker ps -a -q) docker rmi $(docker images -q),但错误仍然存​​在。

\n\n

我的 docker-compose.yml 是这样的:

\n\n
 version: \'2\'\n\n services:\n\n rabbitmq:\n     restart: always\n     image: rabbitmq:3.6\n     environment:\n       RABBITMQ_DEFAULT_USER: my_user\n       RABBITMQ_DEFAULT_PASS: my_password\n     ports:\n       - "5672:5672"\n       - "15672:15672"\n   django:\n     build: ./django\n     command: gunicorn contactto.wsgi:application -b 0.0.0.0:8000\n     environment: \n       - "TZ=Brazil/East"\n     restart: always\n     volumes: \n       - ./django:/usr/src/app\n       - ./django/static:/usr/src/app/contactto/static\n       - ./logs:/logs/\n       - /asterisk/:/etc/asterisk/\n     ports:\n       - "8000:8000"\n     links:\n       - rabbitmq:rabbitmq\n   node:\n     build: ./node_6_8\n     environment:\n       - "TZ=Brazil/East"\n     volumes_from:\n       - django\n   nginx:\n     build: ./nginx\n     restart: always\n     environment: \n       - "TZ=Brazil/East"\n     ports:\n       - "80:80"\n       - "443:443"\n     volumes: \n       - /www/static\n     volumes_from:\n       - django\n     links:\n       - django:django\n   worker:\n     build: ./django\n     command: su -m worker -c "celery worker -A contactto.celeryconf -Q default -n default@%h"\n     environment: \n       - "TZ=Brazil/East"\n     restart: always\n     volumes:\n       - ./django:/usr/src/app\n       - ./django/static:/usr/src/app/contactto/static\n       - ./logs:/logs/\n       - /asterisk/:/etc/asterisk/\n     links:\n       - rabbitmq:rabbitmq\n\n volumes: \n   dbdata:\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 dev.yml 是这样的:

\n\n
version: \'2\'\n\nservices:\n  db:\n    image: postgres:9.5\n    restart: always\n    environment:\n      POSTGRES_USER: my_user\n      POSTGRES_PASSWORD: my_password\n      POSTGRES_DB: my_db\n    volumes:\n      - /psqldata:/var/lib/postgresql/data\n  django:\n    environment:\n      - "DJANGO_CONFIG_MODE=Development"\n    depends_on:\n      - db\n  worker:\n    environment:\n      - "DJANGO_CONFIG_MODE=Development"\n    links:\n      - db:db\n
Run Code Online (Sandbox Code Playgroud)\n\n

任何帮助将非常感激。

\n

Tak*_*abe -2

我进入/并继续分析文件夹。然后我在那里设置了命令ls -la,我看到该文件夹​​是root用户的。首先,我删除了该文件夹sudo rm -rf psqldata,然后设置了sudo chmod 777 /与我的用户一起创建该文件夹的权限mkdir psqldata,现在它可以正常工作了。不知道为什么之前还能用,突然就不动了。我希望这个答案也能帮助到你。

旧文件夹ls -la drwxr-xr-x 2 root wheel 68 Jun 19 14:58 psqldata

新建文件夹ls -la drwxr-xr-x 2 gtmiyabe wheel 68 Jun 20 10:07 psqldata

  • `sudo chmod 777 /`??? 如果我理解正确的话,你刚刚向任何人开放了你的整个系统,为所欲为! (4认同)