Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
云服务器中的PostgreSQL:';致命:角色“;根“;不存在';_Postgresql_Amazon Web Services_Docker_Docker Compose_Amazon Ecs - Fatal编程技术网

云服务器中的PostgreSQL:';致命:角色“;根“;不存在';

云服务器中的PostgreSQL:';致命:角色“;根“;不存在';,postgresql,amazon-web-services,docker,docker-compose,amazon-ecs,Postgresql,Amazon Web Services,Docker,Docker Compose,Amazon Ecs,目前正在研究将postgres数据库容器化并将其放入ECS服务中。最初我使用docker compose部署db,但随后修改了任务定义。由于“postgres”容器(dockerhub的postgres:11),任务不断崩溃。当我调查崩溃时(SSH进入我的实例,然后使用docker logs container\u id),这就是日志给出的原因:致命:角色“root”不存在 我调查了这个错误,这是因为我的docker容器中没有“root”用户。建议使用此命令:sudo-u postgres ps

目前正在研究将postgres数据库容器化并将其放入ECS服务中。最初我使用docker compose部署db,但随后修改了任务定义。由于“postgres”容器(dockerhub的postgres:11),任务不断崩溃。当我调查崩溃时(SSH进入我的实例,然后使用
docker logs container\u id
),这就是日志给出的原因:
致命:角色“root”不存在

我调查了这个错误,这是因为我的docker容器中没有“root”用户。建议使用此命令:
sudo-u postgres psql root
,但是,当我尝试使用它时,我得到:
致命:角色“postgres”不存在
。这意味着没有一个“postgres”超级用户像每个人在许多帖子中建议的那样。我也无法列出pqsl用户,因为我再次出现“root”错误

最让我感兴趣的是,我假设在任务定义的容器配置中包含环境变量
POSTGRES_USER
POSTGRES_DB
POSTGRES_PASSWORD
的值,这意味着POSTGRES数据库至少应该将“POSTGRES_USER”作为超级用户使用。然而,环境变量似乎被忽略了。它们在使用
docker inspect container_id
时列出,但随后似乎被忽略


我完全迷路了。我看到一个报告,指责docker volumes的这种“忽略”行为。但是,我已经修剪了实例中的卷,这没有给我任何结果。也许我应该完全放弃我的例子?我不知道该怎么办了。我乐意接受任何意见或建议。非常感谢

你是在为Postgres创建自定义图像,还是从Dockerhub上删除官方图像?如果是自定义的,请在问题中显示Dockerfile。还有,你为什么想用这种方式运行数据库而不是使用AmazonRDS或Aurora?我正在从dockerhub(postgres:11)中提取图像。现在我正在进行概念验证,由于权限和一些财务考虑,其他服务的使用受到限制。困扰我的是它应该能工作,它没有那么复杂。