У меня есть dockerVolume, в котором есть файл json. Я пытаюсь напечатать json с помощью некоторых команд docker или запуска сценария оболочки - PullRequest
0 голосов
/ 10 июня 2019

У меня есть dockerVolume outputVolume, в котором есть файл json. Я работаю, чтобы напечатать файл json на консоль, используя любые команды docker или сценарий оболочки.

Я попытался "вывести" файл.Попытка открытия файла, не пытаюсь каким-либо образом увеличить размер докера.

Ответы [ 2 ]

1 голос
/ 10 июня 2019

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

Предполагается, что вы используете образ, основанный на debian / ubuntuВы можете выполнить некоторые команды без необходимости входа в контейнер, выполнив docker exec, например:

docker exec <conainer id> <command>

Если вы хотите увидеть содержимое файла, сгенерированного внутри вашего контейнера, вы можете запустить:

docker exec <continer id> cat <path to your file>

Если вы хотите, чтобы в контейнере был интерактивный терминал, вы можете запустить:

docker exec -it <container id> /bin/bash
0 голосов
/ 10 июня 2019

Вам необходимо запустить новый контейнер с вложенным томом . Обратите внимание, что содержимое в /var/lib/docker обычно считается «приватным для Docker», и вам не следует обращаться к нему напрямую; также обратите внимание, что нет необходимости использовать один и тот же путь к файлу с обеих сторон опции bind-mount docker run -v.

Например, в вашем комментарии я мог бы написать

docker run -v outputResultVolume:/data busybox cat /data/whatever.json

В то время как документация Docker с энтузиазмом относится к именованным томам, я, как правило, обнаружил, что монтирование хоста bind проще в эксплуатации. (Для таких вещей, как хранение базы данных, в среде разработки, где вам никогда не нужно просматривать или создавать резервные копии файлов томов, именованные тома работают нормально.) Если вы запускаете недолговечные процессы, где файловый ввод-вывод является основной операцией Вы также можете подумать о том, может ли собственная система упаковки ОС (RPM, dpkg, Homebrew, ...) по-прежнему упрощать воспроизводимый запуск вашего пакета без добавления какой-либо из этих операционных сложностей.

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