Что такое путь контейнера в docker? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь прочитать файл с хоста в контейнер, который представляет собой сценарий python. Этот скрипт читает файл из папки root.

Например, /a/b/c/log.txt (это файл динамического c, поэтому я не могу добавить его в Dockerfile)

Мне нужно получить доступ к этому в контейнере docker. Однако с этой платформы я получил подсказку, что нам нужно увеличить громкость.
docker run -v /path/from/host:/path/to/container sntalarmdocker_snt * sntalarmdocker_snt - это имя образа

Главное, что запутались в этом пути / к / контейнеру

  1. Это путь, по которому DockerFile существовал
  2. Это / var / snap / docker / common / var-lib-docker / container / f901e49b67375d4b1105309569c92afae415309ac1787afa2a565a9c17 * 10168b *

    Этот вопрос связан с Python запись файла не работает внутри docker

    Могу я узнать, как я могу решить эту проблему. Короче говоря, мне нужно прочитать файл с хоста и записать файл на хост, в котором я не могу добавить это в файл docker. Заранее благодарим за время и помощь

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

. / Path / to / container - это путь к каталогу внутри контейнера, где вы хотите, чтобы данные вашего хоста были привязаны к монтированию с контейнером.

Это может быть любой путь к каталогу, например / data, / root / data et c. (/ data не обязательно уже существует в контейнере) Какие бы обновления ни происходили в каталоге контейнера с помощью операции чтения / записи, они также будут обновлены в пути вашего хоста.

Единственное, что необходимо проверить, - это путь вашего хост-компьютера к указанной папке / файлу. После подключения привязки вы можете использовать команду exe c -it для входа в интерактивную оболочку контейнера, а затем использовать ls, чтобы увидеть список файлов / папок.

Здесь можно увидеть путь, указанный при монтировании привязки.

0 голосов
/ 16 июня 2020

/path/to/container - плохой выбор слов. На самом деле это путь внутри контейнера , куда вы хотите смонтировать /path/from/host.

Например, если у вас есть каталог на хосте, /home/edward/data, и вы хотите, чтобы содержимое этого каталога было доступно в контейнере по адресу /data, вы должны использовать -v /home/edward/data:/data.

В процессе контейнера вы можете затем читать и / или записывать файлы в каталог /data, и они будут считываться / записываться в /home/edward/data на хосте.

Объясняются способы привязки подробно в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...