Разрешения на несколько файлов докеров не сохраняются

#docker #nginx #build #permissions

Вопрос:

Для контекста я в настоящее время создаю образ докера колбы из пользовательского образа докера Nginx (который я также создал). Из соображений безопасности я пытаюсь использовать для изображения пользователя, не являющегося пользователем root.

Первое изображение, nginx, работает нормально. Я правильно устанавливаю nginx, я устанавливаю правильные разрешения для некоторых папок:

 # Create needed users
RUN set -x amp;amp; 
    useradd supervisor --uid 1001

# Setting needed permissions
RUN set -x amp;amp; 
    rm -f /etc/nginx/conf.d/*.conf amp;amp; 
    # logging for supervisor
    mkdir -p /var/log/supervisor amp;amp; chown supervisor. -R /var/log/supervisor amp;amp; 
    # PID Files
    touch /var/run/supervisord.pid amp;amp; chown supervisor. /var/run/supervisord.pid amp;amp; 
    touch /var/run/nginx.pid amp;amp; chown supervisor. /var/run/nginx.pid amp;amp; 
    # Cache dir permissions for nginx
    chown supervisor. -R /var/cache/nginx amp;amp; 
    # Nginx configuration files
    chown supervisor. -R /etc/nginx

USER supervisor
 

Создание и запуск этого образа отлично работает, я вижу (внутри контейнера), что все в порядке:

 37615352 4 -rw-r--r--. 1 supervisor supervisor 1007 Oct 29  2020 fastcgi_params
37615353 4 -rw-r--r--. 1 supervisor supervisor 2837 Oct 29  2020 koi-utf
37615354 4 -rw-r--r--. 1 supervisor supervisor 2223 Oct 29  2020 koi-win
37615355 8 -rw-r--r--. 1 supervisor supervisor 5231 Oct 29  2020 mime.types
37615356 0 lrwxrwxrwx. 1 supervisor supervisor   29 Oct 29  2020 modules -> ../../usr/lib64/nginx/modules
37615357 4 -rw-r-----. 1 supervisor supervisor  524 Aug 10 16:43 nginx.conf
37615369 4 -rw-r--r--. 1 supervisor supervisor  636 Oct 29  2020 scgi_params
37615370 4 -rw-r--r--. 1 supervisor supervisor  664 Oct 29  2020 uwsgi_params
37615371 4 -rw-r--r--. 1 supervisor supervisor 3610 Oct 29  2020 win-utf
 

Теперь я хочу создать свою новую колбу с изображением, которая наследуется от этой, и ничего не трогать в папке nginx, вот что происходит:

 36588004 0 drwxr-xr-x. 1 root       root         26 Aug 10 17:09 conf.d
24718107 4 -rw-r--r--. 1 root       root       1007 May 25 13:41 fastcgi_params
24718110 8 -rw-r--r--. 1 root       root       5231 May 25 13:41 mime.types
24718111 0 lrwxrwxrwx. 1 root       root         29 May 25 13:41 modules -> ../../usr/lib64/nginx/modules
56775928 4 -rw-r-----. 1 supervisor supervisor  524 Aug 10 16:50 nginx.conf
24718112 4 -rw-r--r--. 1 root       root        648 May 25 13:30 nginx.conf.rpmnew
24718113 4 -rw-r--r--. 1 root       root        636 May 25 13:41 scgi_params
24718114 4 -rw-r--r--. 1 root       root        664 May 25 13:41 uwsgi_params
 

Я просто устанавливаю flask и uwsgi на новый образ, но когда я пытаюсь запустить его после сборки, я вижу, что разрешения на ранее установленные папки каким-то образом «сбрасываются».

Есть какие-нибудь идеи о том, что происходит ? Заранее спасибо

Комментарии:

1. Наконец-то нашлась проблема. Устанавливал nginx с репозитариями yum, и так как я делаю обновление yum для каждого файла dockerfile, он обновился до новой версии, а затем воссоздал / сбросил разрешения для папки