Создать папку вне контейнера на хост-компьютере

Я хочу изменить папку, в которую конфиг-сервер скачивает файлы из git.

когда я делаю это локально в Windows, все работает отлично, и я могу найти созданную папку.

но когда я развертываю сервер конфигурации в докере, я не могу найти папку по выбранному пути

это моя конфигурация свойств

  cloud:
    config:
      server:
        git:
          uri: "https://bitbucket.org/xxx/remote-config.git"
          username: "xxx"
          password: "xxx"
          basedir: "${CONFIG_LOCAL_REPO_DIR}"
          default-label: "master"
          clone-on-start: true
          force-pull: true

и это мой файл для создания докеров

version: '3.8'

services:

  config-server:
    image: "config-server:1.0"
    build: "./config-server"
    container_name: "config_server"
    restart: "always"
    networks:
      - "network"
    volumes:
      - "myvolume"
    depends_on:
      - "rabbitmq"
    environment:
      CONFIG_LOCAL_REPO_DIR: "myvolume:/home/debian/backend-app/local-repo"


volumes:
  myvolume:

networks:
  network:

как я могу решить эту проблему, чтобы создать на моей машине папку, которую я выбрал?

что значит можно найти? Судя по всему, ваши данные будут находиться на управляемом томе. Если вы хотите, чтобы это было на хосте, используйте привязку. Технически это также с управляемым томом на хосте, но на самом деле он не предназначен для этой цели.

The Fool 22.03.2022 21:54

спасибо @TheFool за ваш ответ. У меня есть папка «/home/debian/backend-app». в эту папку я помещаю свои сервисы и файл docker-compose. Я хочу, чтобы конфигурационный сервер создал «локальный репозиторий» в той же папке («/home/debian/backend-app»)

user17526539 22.03.2022 21:59
1
2
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

services:
  config-server:
    volumes:
      - ./local-repo:/myrepo
    environment:
      CONFIG_LOCAL_REPO_DIR: /myrepo

Обратите внимание, что это не ссылка на том из ключа volumes: в файле YAML, а путь в хост-системе. В данном случае относительно файла компоновки.

это то, что я ищу, спасибо

user17526539 22.03.2022 22:14

Другие вопросы по теме

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

Как использовать записи для @ConfigurationProperties в Spring Boot 2.6.4 (класс может быть не окончательным)
Как использовать внедрение конструктора
Я использую платформу Java Spring для сопоставления данных из части моих данных, и моя переменная пути не даст мне доступа к каким-либо данным
Как я могу получить сегодня предметы с JPQL
Он возвращает ноль из моего репозитория с UUID, первичный идентификатор
Включен ли RestTemplate по умолчанию https
Как получить один экземпляр зависимости, в то время как он внедряется несколько раз в разные классы?
Существуют встроенные таблицы, созданные пакетным заданием spring в H2, такие как job_instance и т. д. Как мы можем добавить префикс к этим таблицам, используя файл свойств?
Найдено 0 интерфейсов репозитория JPA после того, как я запустил свое весеннее загрузочное приложение
Передача набора идентификаторов или набора объектов в качестве данных в DTO в Spring Boot?