Docker e Django manage.py

Sto cercando di trovare un stream di lavoro con Docker e Django. Attualmente, sto usando la configuration di base dalla documentazione del docker .

Vorrei utilizzare la manage.py startapp direttamente dal contenitore per avviare una nuova applicazione utilizzando:

 docker-compose run web ./manage.py startapp myapp 

Ma tutti i file creati nel volume sono di properties; dell'utente root e non di me stesso, quindi non posso modificarli dall'host.

La mia idea è di evitare di installare tutti i requisiti sulla mia macchina host, ma forse non dovrei creare app dal contenitore?

Una ansible soluzione è creare un utente e farlo avere lo stesso UID / GID rispetto al mio utente sulla mia macchina host, ma non funziona se cerco di utilizzare un altro account sulla macchina host …

    Qualche suggerimento?

    Quello che funzionava meglio per me era evitare (o minimizzare) la creazione di file all'interno dei contenitori.

    Il mio Dockerfile copia solo le requirements.txt e li installa; e il contenitore avrebbe accesso ai file app attraverso un volume montato.

    Passo il env var PYTHONDONTWRITEBYTECODE=1 ai contenitori, quindi Python non crea *.pyc/*.pyo file *.pyc/*.pyo .

    Le poche volte che non posso evitare (come, ./manage.py makemigrations ), ho eseguito chown dopo. Non è ideale, ma come questo accade raramente per il mio caso, non mi preoccupo.