Я хочу запустить консула в kubernetes, но мне не разрешено запускать его как пользователь root.
Поэтому я добавил
RUN addgroup consul root
в Dockerfile (полученный FROM consul:1.0.3
)
и начните развертывание в kubernetes с
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
xyz.service: consul-deployment
name: consul-deployment
spec:
template:
spec:
securityContext:
runAsUser: 100
Теперь я ожидаю, что kubernetes запустит консула с пользователем 100
(который был пользователем consul
, когда я запускал его локально в Docker, и теперь должен быть членом группы root
).
Но теперь я получаю следующее сообщение об ошибке при запуске модуля
chown: /consul/data: Operation not permitted
chown
выполняется в Консуле docker-entrypoint.sh
, и я предполагаю, что (все еще) происходит сбой, поскольку пользователь 100
не является пользователем root.
Кто-нибудь может мне объяснить, как запустить контейнер с пользователем без полномочий root, когда в контейнере есть сценарий точки входа, ожидающий выполнения от имени пользователя root?