SELinux 标志 :z 阻止对 postgres 服务的访问
在 MXLinux 25.1 (一个衍生自 Debian 的发行版)上,使用 cookiecutter-django 进行 docker 化安装 - Docker 版本 29.5.2,构建 79eb04c - python3.14 - Docker Compose 版本 v2.38.1-desktop.1 - Cookiecutter 2.6.0 来自 /usr/lib/python3/dist-packages (Python 3.13.5 (main, May 5 2026, 21:05:52) [GCC 14.2.0])
使用 docker-compose.local.yml (开发环境)进行 django 服务 的 默认安装 如下所示:
django: build: context: . dockerfile: ./compose/production/django/Dockerfile image: my_awesome_project_local_django container_name: my_awesome_project_local_django depends_on: - postgres - mailpit volumes: - /app/.venv - .:/app:z env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres ports: - '8000:8000' command: /start 运行 Docker compose 会出现以下错误:
my_awesome_project_local_postgres LOG: database system is ready to accept connections my_awesome_project_local_django | wait-for-it: waiting 30 seconds for postgres:5432 my_awesome_project_local_django | wait-for-it: timeout occurred after waiting 30 seconds for postgres:5432 my_awesome_project_local_django 以 124 退出。 删除 :z 标志可以纠正此错误。
修改后的代码如下:
django: build: context: . dockerfile: ./compose/production/django/Dockerfile image: my_awesome_project_local_django container_name: my_awesome_project_local_django depends_on: - postgres - mailpit volumes: - /app/.venv - .:/app env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres ports: - '8000:8000' command: /start
内容来源: cookiecutter/cookiecutter-django