我正在尝试使用 django-cookietter 启动一个新项目,它构建良好,但是当我尝试 docker-compose -f local.yml up 时,它在 django 的服务上给我这个错误:
django_1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
django_1 | * Restarting with stat
': No such file or directorycute 'python
dj_ekiosk_django_1 exited with code 127
Gracefully stopping... (press Ctrl+C again to force)
Stopping dj_ekiosk_postgres_1 ... done
这是我试图运行的 local.yml 文件(没有任何改变直接来自 cookiecutter 项目)
local.yml
version: '3'
volumes:
local_postgres_data: {}
local_postgres_data_backups: {}
services:
django:
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: dj_ekiosk_local_django
depends_on:
- postgres
volumes:
- .:/app
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- "8000:8000"
command: /start
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: dj_ekiosk_production_postgres
volumes:
- local_postgres_data:/var/lib/postgresql/data
- local_postgres_data_backups:/backups
env_file:
- ./.envs/.local/.postgres
请您参考如下方法:
您的 manage.py 中可能有 \r\n(CRLF) 行结尾,这是 Windows 的默认设置,但在 Linux 下会导致错误。 manage.py 中的第一行应该是这样的:
#!/usr/bin/env python/r/n
当您使用文本编辑器/IDE 打开源代码时,您可能看不到 /r/n 部分,但它就在那里。您应该做的是将 CRLF 行结尾转换为 LF 行结尾(适用于 Linux)。有一些工具可以做到这一点,并且由于您是在 Windows 上进行开发,我建议您将 IDE 配置为使用 LF 作为行尾。 (使用 PyCharm、Visual Studio Code 等配置它们真的很容易。)
