Блог программиста
не только о программировании

Дружественные ресурсы:

IntSystem.org | Веб-разработка, все о ней

DevOps-заметки |

18.01.2021

Исправляем отсутствие доступа на запись в каталог внутри docker-контейнера

Иногда так бывает, что при монтировании каталога в контейнер необходимо иметь права на запись, однако по каким-то причинам запись недоступна

version: "3"
services:
  php:
    build:
      context: ./configs
      dockerfile: php74.dockerfile
    env_file:
      - configs/vars.env
    volumes:
      - .**/:/var/www**
      - ./configs/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

Вот пример конфигурации, допустим внутри www есть каталог log, в который необходимо что-то писать. Для этого достаточно на хост-машине отредактировать права на каталог так, как это требуется для работы (ниже пример, не надо так делать без необходимости).


[dv4mp1r3@mbp ipinfo]$ ls -l | grep log
drwxrwxrwx. 2 dv4mp1r3 dv4mp1r3    4096 Jan  2 23:31 log

А происходить так может потому, что пользователь, из под которого запускается процесс внутри контейнера может не совпадать с владельцем каталога, поэтому и менять права надо вне контейнера.