Skip to content

Ne pas utiliser l'utilisateur root dans les images Docker #1345

@azmeuk

Description

@azmeuk

C'est généralement considéré comme une mauvaise pratique d'exécuter les applications des conteneurs Docker avec l'utilisateur root.

Ça donne lieu à des messages d'avertissements, par exemple de la part des runners celery:

/usr/local/lib/python3.9/site-packages/celery/platforms.py:829: SecurityWarning: You're running the worker with superuser privileges: this is absolutely not recommended!
 
Please specify a different user using the --uid option.

Généralement, on peut s'en sortir avec l'utilisation de USER dans les Dockerfile, et éventuellement un peu de configuration pour ajuster les droits des fichiers. Par exemples :

RUN useradd -u 1000 -m appuser
USER appuser
USER nobody

Cela permettrait possiblement de ne pas avoir à utiliser sudo lorsqu'on lance des commandes make:

Esup-Pod/Makefile

Lines 122 to 130 in 9457b09

docker-build:
# (Attention, il a été constaté que sur un mac, le premier lancement peut prendre plus de 5 minutes.)
# N'oubliez pas de supprimer :
# sudo rm -rf ./pod/log
sudo rm -rf ./pod/log
# sudo rm -rf ./pod/static
sudo rm -rf ./pod/static
# sudo rm -rf ./pod/node_modules
sudo rm -rf ./pod/node_modules

Esup-Pod/Makefile

Lines 175 to 181 in 9457b09

sudo rm -rf ./pod/log
sudo rm -rf ./pod/static
sudo rm -rf ./pod/node_modules
sudo rm -rf ./pod/db_migrations
sudo rm -rf ./pod/db.sqlite3
sudo rm -rf ./pod/db_remote.sqlite3
sudo rm -rf ./pod/media

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions