You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac构建Django项目时遇docker-compose凭证获取错误

Mac环境下Docker-Compose构建Django项目的问题排查与解决

问题场景

在Mac环境下执行命令构建Django项目时,遇到三类问题,且该问题在Ubuntu环境下未出现:

  • hl0变量未设置的重复警告
  • root运行需ASL日志的提示
  • 核心错误:`error getting credentials - err: exit status 1, out: ``

执行命令及报错信息

sudo docker-compose -f docker-compose.dev.yml up -d --build
Password:
WARN[0000] The "hl0" variable is not set. Defaulting to a blank string. 
WARN[0000] The "hl0" variable is not set. Defaulting to a blank string. 
WARN[0000] The "hl0" variable is not set. Defaulting to a blank string. 
WARN[0000] The "hl0" variable is not set. Defaulting to a blank string. 
2023/05/21 14:09:08 must use ASL logging (which requires CGO) if running as root
[+] Running 0/0
 ⠋ db Pulling                                                              0.0s
error getting credentials - err: exit status 1, out: ``

docker-compose配置文件

version: "3.3"

services:
  db:
    image: postgres:14.0-alpine
    environment:
      POSTGRES_USER: ${SQL_USER}
      POSTGRES_PASSWORD: ${SQL_PASSWORD}
      POSTGRES_DB: ${SQL_DATABASE}
    volumes:
      - rbn_db:/var/lib/postgresql/data
    networks:
      - rbn
  web:
    build: ./
#    command: gunicorn monsite.wsgi:application --bind 0.0.0.0:8000
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - ./:/code
    ports:
      - "9005:8000"
    env_file:
      - ./.env
    depends_on:
      - db
    networks:
      - rbn
volumes:
  rbn_db:

networks:
  rbn:
    driver: bridge

.env配置文件

DEBUG=1
SECRET_KEY=secret_key
DJANGO_ALLOWED_HOSTS=localhost;127.0.0.1
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=database
SQL_USER=database_user
SQL_PASSWORD=database_password
SQL_HOST=db
SQL_PORT=5432
DJANGO_DEBUG=True

解决方案

1. 解决凭证获取错误(error getting credentials)

Mac环境下使用sudo运行docker-compose会导致无法读取当前用户的Docker凭证,建议按以下方式处理:

  • 优先方案:移除sudo,确保当前用户已加入docker用户组。可通过docker ps测试是否无需sudo就能执行Docker命令,若不能,执行sudo usermod -aG docker $USER后重启终端生效。
  • 备选方案(必须用sudo时):指定DOCKER_CONFIG环境变量指向当前用户的Docker配置目录,命令示例:
    sudo DOCKER_CONFIG=/Users/你的用户名/.docker docker-compose -f docker-compose.dev.yml up -d --build
    

2. 解决hl0变量未设置警告

  • 检查docker-compose.dev.yml文件,确认是否存在未定义的${hl0}变量引用,若为误写则修正变量名;
  • 若该变量确实需要使用,在.env文件中添加hl0=你的变量值配置。

3. 解决ASL日志提示

该提示是Mac下以root身份运行Docker时的日志机制提示,无需额外修复:

  • 采用上述移除sudo的方案即可消除该提示;
  • 若保留sudo,项目正常启动后该提示不影响功能,可忽略。

内容的提问来源于stack exchange,提问作者Lalit mahato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:35:22