我有一個基于 django-cookiecutter 的 django 應用程式,在 aws-ec2 上運行。應用程式本身已構建并且運行正常。此應用程式使用 django-cities-light 庫。當我運行docker-compose -f production.yml run --rm django python manage.py cities_light哪個是用國家/城市填充資料庫的命令時,我收到此錯誤:
INFO 2021-11-30 15:17:36,780 cities_light 1 140562076800832 Creating /usr/local/lib/python3.9/site-packages/cities_light/data
Traceback (most recent call last):
File "/app/manage.py", line 31, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.9/site-packages/cities_light/management/commands/cities_light.py", line 145, in handle
os.mkdir(DATA_DIR)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.9/site-packages/cities_light/data'
ERROR: 1
由于 '/usr/local/lib/python3.9/site-packages/cities_light/data' 在 docker 中,我很困惑我應該設定什么權限以及設定給誰。
如果有人能闡明一些觀點,我們將不勝感激。
謝謝!
uj5u.com熱心網友回復:
確保容器內的用戶有足夠的權限'/usr/local/lib/python3.9/site-packages/cities_light/data'。
如果容器中有非 root 用戶,請確保該用戶擁有/有權訪問該檔案夾。也看看這個
uj5u.com熱心網友回復:
感謝 Vinoth 的建議。他們很有幫助。
我做了一些閱讀并將檔案夾的所有權更改為 django (user:group) 通過添加
RUN chown -R django:django /usr/local/lib/python3.9/site-packages/*到 docker 檔案修復了問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371369.html
標籤:姜戈 亚马逊网络服务 码头工人 docker-compose
