Comments (4)
In order to run as non-root, I faced an issue binding gunicorn to (0.0.0.0, 80)
, but that was resolved once I realized I just need to bind to a non-privileged port, i.e. 8080
. Otherwise, it was as simple as adding a USER
directive in a Dockerfile
.
from uvicorn-gunicorn-docker.
Sure, you can do it if it's useful for your use case, but you have to make sure that the files in your local system belong to the correct user in your machine and then inside your container, that you have the right user inside as well, that the ownership of the files is correct, etc.
All this making sure that you use the right user ID number, if your local machine has more than one user, your user ID won't be the default one for a new user, etc.
Also, you lose the possibility to develop mounting a local volume with your code as the permissions probably won't match, or maybe you have to change them as part of your build step.
But if you are in a constrained environment or for some specific reason you want to run as another user, sure, you can do it, is just not something I can enforce or add defaults for it. For the same reasons above I can't make an assumption about the permissions and ownership of your code, nor about specific usernames, etc. Because each case that needs something similar will have different requirements, but for sure you can customize your own image to suit your needs, create the right user, set the right permissions to match your personal development environment, etc.
from uvicorn-gunicorn-docker.
Assuming the original issue was solved, it will be automatically closed now. But feel free to add more comments or create new issues.
from uvicorn-gunicorn-docker.
Thanks @Mazyod for the lead.
I was experiencing a major headache with my issue, that I was getting Connection refused
even with 8080 port and non-root.
My issue was that my gunicorn container was attached to TWO bridge networks, one for the database link and the other for nginx.
And guess in which network gunicorn was listening..... :(
Takeaway: specify HOST
option with the full machine+network host name, like: impulse_python.docker_python_web_net
(in my case)
(you can get values by docker network ls
then docker network inspect [XXX]
and the network suffix is the first Name
value listed)
from uvicorn-gunicorn-docker.
Related Issues (20)
- Only prints `log_data` if `LOG_LEVEL` == `DEBUG`
- Custom gunicorn configuration file for logging
- python3.8-slim image: Time not Synced to Local Machine HOT 1
- python 3.10 image HOT 6
- Image for ARM64 chips HOT 4
- Is there a docker image that include both mysql and python? HOT 1
- Feature: Disable access log when using live-reload HOT 1
- Deploying docker image with Nginx HOT 2
- Upgrade to Python 3.8.8 to fix CVE-2021-3177 HOT 2
- Update PyYAML to >= 5.4 for CVE-2020-14343 HOT 3
- Log message are missing HOT 2
- Python 3.9 HOT 5
- Updated Uvicorn to 0.14.0 to increase ws max_size to > 1mb, but doesn't work, & get "error walking file system: FileNotFoundError [Errno 2] No such file or directory: '/app/.venv/bin/python'" HOT 2
- How to enable all debug which is available?
- Wrong ML prediction inside the docker HOT 1
- Ignore HOT 1
- how gunicorn + uvicorn + uvloop + httptools HOT 1
- RuntimeError: Task attached to a different loop HOT 2
- Images are out of date HOT 4
- New uvicorn[standard] version cause memory leak due to tcp ping HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uvicorn-gunicorn-docker.