#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, он обновился до новой версии, а затем воссоздал / сбросил разрешения для папки