Can';t在Docker中更改PostgreSQL的管理员用户密码

Can';t在Docker中更改PostgreSQL的管理员用户密码,postgresql,nginx,docker,Postgresql,Nginx,Docker,我正在使用一个Docker容器进行一些研究,使用nginx+php+postgresql和一些ssh与主机连接 问题是我不能交换容器的PostgreSQL管理员密码(对于内部,而不是文件系统) 我把我的Dockerfile文件放进了我调查过的一些文件中,看起来像我想要的 Dockerfile是 要么尝试使用第84-85行,要么在第80-82行调用的脚本中使用相同的行。无论哪种选择,我都会收到相同的错误消息: psql: could not connect to server: No such f

我正在使用一个Docker容器进行一些研究,使用nginx+php+postgresql和一些ssh与主机连接

问题是我不能交换容器的PostgreSQL管理员密码(对于内部,而不是文件系统)

我把我的Dockerfile文件放进了我调查过的一些文件中,看起来像我想要的

Dockerfile是

要么尝试使用第84-85行,要么在第80-82行调用的脚本中使用相同的行。无论哪种选择,我都会收到相同的错误消息:

psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

这不是您想要的答案,但理想情况下,您可以在单独的容器中运行数据库,让应用程序容器运行httpd,并使用docker compose将您的php代码链接到它。公开一个env变量来设置管理员密码POSTGRES\u password

我发现,将官方图像用于数据库之类的东西可以节省大量时间和麻烦,因为制作它们的团队添加了易于使用的功能,可以让您快速起步,例如设置数据库密码的env vars

docker团队为wordpress提供了一个很好的使用mysql的教程,该教程将为您指明docker compose文件的正确方向


这不是您想要的答案,但理想情况下,您可以在单独的容器中运行数据库,让应用程序容器运行httpd,并使用docker compose将您的php代码链接到它。公开一个env变量来设置管理员密码POSTGRES\u password

我发现,将官方图像用于数据库之类的东西可以节省大量时间和麻烦,因为制作它们的团队添加了易于使用的功能,可以让您快速起步,例如设置数据库密码的env vars

docker团队为wordpress提供了一个很好的使用mysql的教程,该教程将为您指明docker compose文件的正确方向

version: '2'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data: