• Как сопоставить тома Docker на Synology NAS?

    HandyPo
    @HandyPo Автор вопроса
    Алан Гибизов, так я здесь задаю вопрос, что бы разобраться. Логично же? И я не просил править чей-то код, я привел пример который не работает. После этого разбирался с коллегой, сделали другой dockerfile, но все равно не помогло.
    Ваш ответ вообще не помогает, а, если не помогает, зачем комментировать?
  • Как сопоставить тома Docker на Synology NAS?

    HandyPo
    @HandyPo Автор вопроса
    Алан Гибизов, python есть.
    Структура такая:
    main folder - папка
    bot - папка
    cvenv - виртуальная окружающая среда
    main.py
    requirements.txt
    log - папка
    logfile.log

    Из этой структутры нужно сделать Dockerfile, что бы на NAS я смог сопоставить папку bot с папкой /volume1/docker/projectfolder/data, а папку log с папкой на сервере /volume1/docker/projectfolder/log

    GPT создал такой файл
    # Используйте официальный образ Python
    FROM python:3.11
    # Создайте директорию для приложения
    WORKDIR /app
    # Копируйте файлы из папки 'bot' в текущую директорию '/app'
    COPY ./bot /app
    # Установка зависимостей из requirements.txt внутри папки 'bot'
    RUN pip install -r /app/requirements.txt
    # Создайте директорию для логов
    RUN mkdir /app/log
    # Указать рабочую директорию
    WORKDIR /app
    # Запуск вашего приложения
    CMD [ "python", "main.py" ]


    Но при сопоставлении
    /volume1/docker/projectfolder/data —> /app
    /volume1/docker/projectfolder/log —> /app/log
    Контейнер крашится с ошибкой "python: can't open file '/app/main.py': [Errno 2] No such file or directory" и папка log создается по пути /volume1/docker/projectfolder/data. Если убираю сопоставление /volume1/docker/projectfolder/data —> /app, крашится с логом "ileNotFoundError: [Errno 2] No such file or directory: '/log/HandyCurrencyBot.log'", но папка с логом создается по этому пути
  • Как сопоставить тома Docker на Synology NAS?

    HandyPo
    @HandyPo Автор вопроса
    mayton2019, Мне нужно, что бы на сервере файлы проекта были в папке /volume1/docker/ProjectName/app, а логи в папке /volume1/docker/ProjectName/logs. В самом проекте так же разбил на app и logs папки. Если не указывать сопоставления в контейнере, бот работает корректно. Указываю как
    /volume1/docker/ProjectName/app - /app/app
    /volume1/docker/ProjectName/logs - /app/logs

    Если указать /volume1/docker/ProjectName/app - /app то в этой папке создается папка logs, но пустая и, соответственно, бот не работает, ошибка "python: can't open file '/app/app/main.py': [Errno 2] No such file or directory".
    Нужно как-то понять, в каких папках в самом контейнере лежат файлы.