Во-первых, вам не нужно назначать root разрешение для вновь созданного пользователя, что убивает цель пользователя.
Так что вам не нужно менять пользователя на root
пользователя, вы можете запустить команду в работающем контейнере с root
пользователем.
docker exec -it --user root mycontainer sh
или в Dockerfile
USER root
# Run root operation here
# Change user back to cassandra
USER cassandra
Кстати, вы можете создать root пользователя, используя следующие команды
Dockerfile
RUN adduser -D $USER \
&& echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER \
&& chmod 0440 /etc/sudoers.d/$USER
USER $USER
WORKDIR $HOME
RUN whoami
RUN sudo whoami
Выход сборки
Step 9/11 : RUN whoami
---> Running in d52065213d2d
default
Removing intermediate container d52065213d2d
---> c1b526ea8342
Step 10/11 : RUN sudo whoami
---> Running in 5f4ddd11a5f2
root