Похоже, вы используете не s2i образ для сборки sourceStrategy. Причина, по которой вы получаете ошибку, состоит в том, что на изображении указан нечисловой пользователь.
$ docker inspect docker.io/jboss/wildfly:11.0.0.Final | jq '.[] | .Config.User'
"jboss"
Это приводит к ошибке в проверке IsUserAllowed , выполненной до начала сборки s2i (sourceStrategy).
Если я правильно понимаю вашу потребность, вы, возможно, ищете изображение s2i-wildfly для вашей сборки . Образы jboss/wildfly
- это образы времени выполнения, не предназначенные для использования в s2i (т. Е. Сценарии s2i отсутствуют). Поэтому используйте вместо этого sourceStrategy
:
sourceStrategy:
from:
kind: DockerImage
# Uses WildFly 11.0
name: "openshift/wildfly-110-centos7:latest"
В качестве альтернативы, если вы действительно хотите использовать это конкретное изображение, вы можете сделать это, выполнив следующие действия.
- Создайте новый образ с правильно настроенным пользователем и используйте его из
ImageStreamTag
вместо DockerImage
в конфигурации вашей сборки. oc new-build -D $'FROM docker.io/jboss/wildfly:11.0.0.Final\nUSER 1001' --to=wildfly:latest
.
- Укажите параметр URL скрипта в вашей конфигурации
sourceStrategy
. Здесь ожидается, что эти сценарии знают, что делать с вашим двоичным артефактом.