无法访问AWS CodeBuild中的Postgres Docker容器

时间:2020-05-11 16:54:38

标签: postgresql docker aws-codebuild

我有一个用于Django App的简单代码构建项目,我想在docker容器中启动Postgres数据库进行测试。

命令是:

docker run --name django-test-db -d -p 5432:5432 -e POSTGRES_PASSWORD=djangotest -e POSTGRES_USER=configuration-service-master -e POSTGRES_DB=configuration-service postgres:12-alpine
docker exec django-test-db psql -U configuration-service-master -c \"\\dn\"

在我的本地计算机上,一切正常,但是在AWS CodeBuild中,我收到错误消息:

psql:错误:无法连接到服务器:无法连接到服务器: 无此文件或目录 服务器是否在本地运行并接受 Unix域套接字“ /var/run/postgresql/.s.PGSQL.5432”上连接?

1 个答案:

答案 0 :(得分:0)

尝试两件事:

  1. 使用'-h'标志连接以指定主机,以便连接通过TCP / IP而不是Unix套接字

    public function render($request, Throwable $exception)
    {
        if ($request->wantsJson() && $exception instanceof NotFoundHttpException) {
            return response()->json([
                'message' => 'Not found',
            ], 404);
        }
    
        return parent::render($request, $exception);
    }
    
  2. 在Build项目上启用特权模式: