Файл Docker отсутствует в volumn?

Сейчас я использую github и docker. Внутри git-репозитория много docx и xlsx файлов в "app/media". Когда я проталкиваю и вытаскиваю образ docker, я пытаюсь docker-compose exec -it web bash получить доступ для проверки и вижу, что все файлы в "app/media" отсутствуют, а папка media на хосте пуста. Как я могу решить эту проблему?

version: '3.8'

services:
  web:
    image: xxxx/myimage:latest
    command: gunicorn  --workers=3 --threads=2 --worker-connections=3000 --timeout 300  project.wsgi:application --bind 0.0.0.0:8000
    volumes:
      - ./static:/usr/src/app/static
      - ./media:/usr/src/app/media
    ports:
      - 8000:8000
    env_file:
      - ./.env
    depends_on:
      - db
  db:
    image: postgres:13.0-alpine
    restart: always
    volumes:
      - ./database:/var/lib/postgresql/data/
    environment:
      - POSTGRES_USER=${SQL_USER}
      - POSTGRES_PASSWORD=${SQL_PASSWORD}
      - POSTGRES_DB=${SQL_DATABASE}
    ports:
      - 5432:5432
  nginx:
      image: nginx:1.13.0-alpine
      container_name: wrk-nginx
      restart: always
      ports: 
        - "80:80"
        - "443:443"
      volumes:
        - ./nginx.conf:/etc/nginx/conf.d/default.conf     
        - ./static:/home/app/web/static
        - ./media:/home/app/web/media 
        - ./certbot/conf/:/etc/nginx/ssl/:ro
      depends_on:
        - web
  certbot:
    image: certbot/certbot:latest
    volumes:
      - ./certbot/conf/:/etc/letsencrypt/:rw

  pgbackups:
      container_name: Backup
      image: prodrigestivill/postgres-backup-local
      restart: always
      volumes:
        - /home/myuser/database:/backups
      links:
        - db:db
      depends_on:
        - db
      environment:
        - POSTGRES_HOST=db
        - POSTGRES_DB=${SQL_DATABASE} 
        - POSTGRES_USER=${SQL_USER}
        - POSTGRES_PASSWORD=${SQL_PASSWORD}
        - POSTGRES_EXTRA_OPTS=-Z9 --schema=public --blobs
        - SCHEDULE=@every 0h30m00s
        - BACKUP_KEEP_DAYS=7
        - BACKUP_KEEP_WEEKS=4
        - BACKUP_KEEP_MONTHS=6
        - HEALTHCHECK_PORT=81

Это просто предположение, потому что трудно понять, что здесь происходит, не имея полного проекта.

При bind-mounting директории с хоста в контейнере (именно это сделано здесь), файлы и директории сохраняют разрешения и права собственности, которые они имеют на хосте.

Часто проблема возникает из-за права собственности. Вы должны проверить права собственности на каталоги / файлы на хосте и пользователя по умолчанию (UID/GID) контейнера. Этот пользователь по умолчанию должен иметь необходимые разрешения (группа или пользователь) для просмотра каталогов и файлов на хосте.

Вернуться на верх