В чем разница между CMD java -version &> /staf-logs/output.log и CMD ["java -version &> /staf-logs/output.log"] в докере

Я получаю ошибку «/staf-logs/output.log» не найден при использовании «CMD [« java -version &> /staf-logs/output.log »]», я хочу перенаправить журналы докеров на output.log

Вы можете подтвердить, существует ли каталог /staf-logs/output.log? Вы можете создать это перед командой CMD.

Valerian Pereira 09.12.2018 16:33

Форма CMD в том виде, в котором вы ее написали, попытается запустить двоичный файл с именем java -version &> /staf-logs/output.log (с пробелами, знаками препинания и именем файла журнала как частью имени исполняемого файла); маловероятно, что у вас есть такой двоичный файл.

David Maze 09.12.2018 19:38
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
2
24
1

Ответы 1

Вы должны позволить приложению в контейнере писать в stdout. Затем вы можете работать с журналами извне контейнера, используя docker logs <container>. Если вы напишете в файл, файл исчезнет вместе с контейнером, и вы не сможете его найти, если не смонтировали том либо на хосте, либо с томами докеров.

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