Dockerizing PostgreSQL

所以我的devops朋友使用docker cloud为我的应用程序设置了一个环境。 他设置了一些临时数据库密码,并告诉我在docker-compose.ymldocker-cloud.yml文件中更改它们。 我docker-cloud.yml文件如下所示:

 db: image: mdillon/postgis:9.6 ports: - "5432:5432" environment: POSTGRES_PASSWORD: temppasswd POSTGRES_USER: myuser POSTGRES_DB: mydb web: autoredeploy: true image: myapp/myapp_api:latest ports: - "80:8000" links: - db environment: DATABASE_NAME: mydb DATABASE_USER: myuser DATABASE_PASSWORD: temppasswd cron: autoredeploy: true image: myapp/myapp_api:latest links: - db command: cron -f -L 15 

他还告诉我在Docker云端堆栈中更改密码,并重新部署,我没有任何效果。 含义:新密码不起作用,我仍然可以用旧密码login。 那么如何改变这个密码?

当容器第一次启动时,POSTGRES_USER被设置一次。 如果您在下次启动时删除容器,数据库将重新初始化您的更改。

删除你的容器也会删除你的所有数据。 如果您不想在运行时login容器并手动更改密码。

 psql -h <host> -U myuser 

然后

 alter role myuser password 'temppasswd';