Dockerizing PostgreSQL

时间:2016-12-13 20:23:05

标签: postgresql docker

所以我的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 cloud stack中的密码并进行重新部署 - 这没有效果。含义:新密码不起作用,我仍然可以使用旧密码登录。那么如何更改该密码呢?

1 个答案:

答案 0 :(得分:0)

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

删除容器也会删除所有数据。如果您不想这样做,请在运行时登录容器并手动更改密码。

psql -h <host> -U myuser

然后

alter role myuser password 'temppasswd';