Django with Python 3, uWSGI, and Nginx.
10K+
Dockerfile and configuration files for Django with Python 3, uWSGI, and Nginx.
This Image/Dockerfile aims to create a container for Django with Python 3 and using uWSGI, Nginx to hosting.
The most part is referenced from dockerfiles/django-uwsgi-nginx.
I change the version of Python and modify the setting of Nginx to make it easier when you use static file of Django.
You can build this Dockerfile yourself:
sudo docker build -t "chenjr0719/django-python3-nginx" .
Or, just pull my image:
sudo docker pull chenjr0719/django-python3-nginx
Then, run this image:
sudo docker run -itd -p 80:80 chenjr0719/django-python3-nginx
Now, you can see the initial project of Django at http://127.0.0.1
You can also change it to a different port.
For example, use 8080:
sudo docker run -itd -p 8080:80 chenjr0719/django-python3-nginx
If you want to use your Django project which you already developed, use following command:
sudo docker run -itd -p 80:80 -v $PROJECET_DIR:/home/django/website chenjr0719/django-python3-nginx
In order to make it work properly, make sure you project name is website.
If not, you need modify the setting of uwsgi.ini in your container:
sudo docker exec $CONTAINER_ID sed -i "s|module=website.wsgi:application|module=$PROJECT_NAME.wsgi:application|g" /home/django/uwsgi.ini
sudo docker restart $CONTAINER_ID
If you want to use Django static files, you have to:
sudo docker exec -it $CONTAINER_ID bash
SETTING_PATH=`find /home/django/website -name settings.py`
vim $SETTING_PATH
In the Static files section, if your static files are in templates/static, add following setting:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "templates/static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, "static")
In default it will use /static/, you can change it by modifying STATIC_ROOT in settings.py
echo yes | python3 /home/django/website/manage.py collectstatic
You can use this command:
sed -i "s|/home/django/website/static|/home/django/website/$STATIC_FOLDER_NAME|g" /etc/nginx/sites-available/default
exit
sudo docker restart $CONTAINER_ID
Content type
Image
Digest
Size
233.2 MB
Last updated
about 10 years ago
docker pull chenjr0719/django-python3-nginx