当前位置: 首页 > 知识库问答 >
问题:

如何修复ec2上对接ap上的mkdir错误?

罗和煦
2023-03-14

我有一个基于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\u light/data”在docker中,我对应该设置哪些权限以及向谁设置权限感到非常困惑。

如果有人能透露一些信息,我们将不胜感激。

谢谢你!

共有2个答案

韩夕
2023-03-14

谢谢维诺的建议。他们很有帮助。

我阅读了一些内容,并将文件夹的所有权更改为django(用户:group),方法是将RUN chown-R django:django/usr/local/lib/python3.9/site packages/*添加到docker文件中,解决了这个问题。

郝承悦
2023-03-14

确保容器内的用户具有足够的权限来访问usr/local/lib/python3.9/site packages/cities\u light/data。

如果您在容器中有一个非root用户,请确保该用户拥有/有权访问该文件夹。也看看这个

 类似资料:
  • 我在尝试向服务器提交构建时遇到了一些问题。每次我试图提交它,它都失败了。以下是该过程的输出: 请帮帮我!

  • npm WARNajv-keywords@3.3.0需要ajv@^6.0.0的对等体,但没有安装。您必须自己安装对等依赖项。npm WARN可选跳过可选依赖项:fsevents@1.2.7(node_modules\fsecents): npm WARN not sup跳过可选依赖项:fsevents@1.2.7不支持的平台:想要{"os":"darwin","arch":"any"}(当前:{"

  • 我用ruby 2.0在我的工作站上运行Ubuntu13.04。0,通过RVM安装。 $aptitude show libxml2 $aptitude show libxml2 dev 开发能力

  • 这是我在这个论坛上找到的提供会话工厂的类,但我一直得到JndiException:解析JNDI名称[]时出错 javax。命名。NoInitialContextException:需要在环境或系统属性中指定类名,或者作为applet参数,或者在应用程序资源文件中指定类名:java。命名。工厂以javax开头。命名。spi。NamingManager。javax上的getInitialContext

  • 最近,我在这里问我的pip有问题,这也影响了我的easy_安装和py2app。根据我在这里得到的答案,我尝试了“安装证书”。昨天晚上的命令。现在,我的pip开始工作了!但是我的easy_install、pip3、easy_install3和py2app仍然无法处理此错误(

  • FileLoaderImportCircularReferenceException:在“/app/config/routing_dev.yml”(“/app/config/routing_dev.yml”)中检测到循环引用 我正在努力做到这一点:http://symfony.com/doc/current/cookbook/routing/custom_route_loader.html#mor