IlyaMalone
@IlyaMalone
Frontend Developer

Как проверить наличие файла в проекте, если он находится в другом контейнере docker?

Добрый день!
Подскажите пожалуйста, как проверить существование файла в проекте, если он находится в другом контейнере docker?
Я пишу функцию с тестами jest и хочу в зависимости от существования файла выводить разные сообщения.
вот мой код:
const doesExist = async () => {
      return fsPromises.access(path.resolve() + "/../button.png", fs.constants.R_OK | fs.constants.W_OK)
        .then(() => console.log("Файл существует");
        .catch(() => console.log("Файл отсутствует");
    }

В настоящий момент path.resolve() + "/../button.png" написан неправильно.
Функция с тестами запускается из контейнера фронта (frontend), а файл находится в другом контейнере (backend).
Соответственно, если использовать path.resolve(), то вернется "frontend", а мне нужно подняться на директорию выше, а затем в backend. Отсюда вся загвоздка.
(P.S. в данном варианте всегда срабатывает catch, т.к. файл не находит.)
Я могу как то проверить существование файла по всему проекту, независимо от контейнера, к примеру по названию?
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@romaro
У контейнеров ведь обособленные файловые системы, т.е. они могут общаться между собой через docker-network. Вам по идее нужно реализовать в контейнере бекенда API наличия картинки и дергать его из второго контейнера.

Или выносить общие для контейнеров ресурсы на хостовую машину и монтировать директорию с этими ресурсами в оба контейнера. Тогда у них будет общая файловая система.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы