container_linux.go:247: неверное значение поля заголовка - разрешение> отказано - проблема с собственным изображением Quarkus в OpenShift
Я пытаюсь запустить приложение для работы с изображениями Quarkus в Openshift 3.x.
Я создал собственный образ на машине Fedora, следуя инструкциям Quarkus:
./mvnw package -Pnative
Я убедился, что сгенерированный двоичный файл работает нормально на машине Fedora:
2019-05-30 08:45:06,957 INFO [io.quarkus] (main) Quarkus 0.15.0 started in 0.052s. Listening on: http://0.0.0.0:8080
2019-05-30 08:45:06,963 INFO [io.quarkus] (main) Installed features: [cdi, resteasy, resteasy-jsonb]
^C2019-05-30 08:45:12,836 INFO [io.quarkus] (main) Quarkus stopped in 0.011s
Затем я вставляю это изображение в контейнер Docker:
FROM registry.fedoraproject.org/fedora-minimal
WORKDIR /work/
RUN curl -v -H 'Cache-Control: no-cache' -fSL "http://xxx/quarkus-ms-users-1.0-SNAPSHOT-runner" -o /work/application
RUN ls -la /work
EXPOSE 8080
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
Я создаю образ в Openshift и при развертывании контейнера он завершается с:
Ошибка: не удалось запустить контейнер "quarkus-native-ms-users": Ответ об ошибке от демона: {"message":"неверное значение поля заголовка \" oci ошибка времени выполнения: container_linux.go:247: вызван запуск процесса контейнера \\"exec: \\\\"./application\\\\": разрешение отклонено \\"\n\""}
Что не так с этим изображением?
1 ответ
Проблема была в том, что мне не хватало разрешения на выполнение бинарного файла RUN chmod +x /work/application
,
Полный Dockerfile:
FROM registry.fedoraproject.org/fedora-minimal
WORKDIR /work/
RUN curl -v -H 'Cache-Control: no-cache' -fSL "http://xxx/quarkus-ms-users-1.0-SNAPSHOT-runner" -o /work/application
RUN chmod +x /work/application
RUN ls -la /work
EXPOSE 8080
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]