ошибка образа дистрибутива Java - PullRequest
0 голосов
/ 29 июня 2018

Когда я пытаюсь создать образ докера, используя базовый образ Java без помех, Я получаю следующую ошибку, когда включаю любую команду оболочки, такую ​​как 'mkdir', 'chmod' любая помощь в этом действительно приветствуется.

Ошибка создания среды выполнения OCI: container_linux.go: 348: запуск процесса контейнера вызвал "exec: \" / bin / sh \ ": stat / bin / sh: такого файла или каталога нет: неизвестно

Ответы [ 2 ]

0 голосов
/ 09 июля 2018

distroless предоставляет debug изображение, которое содержит оболочку, так что вы можете exec в него:

gcr.io/distroless/java:debug

Изображения debug содержат busybox. Вы можете запустить этот образ с помощью Docker:

docker run -it --entrypoint "/busybox/sh" gcr.io/distroless/java:debug

Если вы хотите создать образ Java Docker непосредственно в проекте Maven или Gradle, используя distroless в качестве основы, посмотрите Jib .

0 голосов
/ 29 июня 2018

Если вы посмотрите на список вещей в базовом образе без запаха , он просто не включает в себя оболочку, или mkdir, или chmod, или что-нибудь еще в этом роде. Образ Java добавляет JVM, и все. Вероятно, не удастся построить изображение на основе того, что в готовом банке делает намного больше, чем COPY, и установить CMD, чтобы указать на него, возможно, установив некоторые переменные ENV по умолчанию.

Если вам нужны базовые инструменты, включенные в стандартный дистрибутив Linux, вы должны начать с более функционального базового образа, такого как стандартный openjdk образ.

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