@narem

Как можно обновить файлы в папке без перезапуска docker compose?

Есть 2 папки. 1 папка для файлов которые скидывает админ, вторая папка для хранения этих файлов.
Каждые N времени отрабатывает скрипт. Из 1 папки файлы берутся, обрабатываются, заносятся в бд и т.д, переносятся во вторую папку.
Проблема такая, что когда я собираю проект в docker compose, 1 папка пустая. После сборки и запуска контейнера я добавляю допустим 1 файл и скрипт его не видит(логично, контейнер уже запущен), что бы файл появился в контейнере мне надо все останавливать и запускать заново. Вопрос, можно ли как-то обойти этот нюанс, что бы я кидал файлы в папку при работающем контейнере и он это видел?

Попробовал добавить volume, но особо не помогло.
version: '3.1'

services:

  db:
    build: ./mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 128Wh
    volumes:
      - ./save/db:/var/lib/mysql
    ports:
      - 3306:3306
    healthcheck:
      test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
      timeout: 45s
      interval: 10s
      retries: 10

  adminer:
    image: adminer
    restart: always
    ports:
      - 7080:8080
      
  node:
    build: ./node
    ports:
      - 3000:3000
    volumes:
      - ./save/nodejs-app:/node
      - /docker-file/node/file:/node/file
    depends_on:
      db:
        condition: service_healthy
    environment:
      MYSQL_HOST: db
  • Вопрос задан
  • 683 просмотра
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Докер здесь непричем. Это проблема вашего прикладного софта. Софт видит любые папки через volumes.
Да-да и изменения тоже видит. Тестируйте этот пункт. Все должно работать как и слокальным диском.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы