Ответ 1
cat setup.json | docker run -i ubuntu /bin/bash -c 'cat'
Это сработало для меня. Удалить -t. Также не нужен -a.
Мне нужно передать (вставить) файл или некоторые данные в докер как часть команды run и записать их в файл в контейнере как часть запуска. Есть ли лучший способ сделать это?
Я попробовал это.
cat data.txt | docker run -a stdin -a stdout -i -t ubuntu /bin/bash -c 'cat >/data.txt'
Но не могу заставить его работать.
cat setup.json | docker run -i ubuntu /bin/bash -c 'cat'
Это сработало для меня. Удалить -t. Также не нужен -a.
Лучшее решение состоит в том, чтобы сделать (смонтировать) папку хоста доступной для контейнера Docker. Например. как это
docker run -v /Users/<path>:/<container path> ...
Вот /Users/<path>
- папка на вашем хост-компьютере и путь монтирования <container path>
внутри контейнера.
Также см. страницу руководства "Управление данными в контейнерах".
ОБНОВЛЕНИЕ другой пример доступа к внешним файлам из Docker Containers.