Recover dead Docker container

My docker container was dead. It runs Postgresql service.

The root cause of error is

/var/lib/postgres permission was changed

What steps I did to recover it.

Access docker image

docker run -it postgres bash

Change permission

chmod -R 700 /var/lib/postgresql/9.3/main

Commit docker container

docker commit -m "correct postgres perms" jolly_goldstine

Run new container ( thanks to –volumes-from to restore data stored in dead container).

docker run -d -p 5432:5432 --volumes-from pgdb  --name pgdbnew -e POSTGRES_PASS="anypass" postgres; sleep 30

Check Postgres

PGPASSWORD=anypass psql -h localhost -p 5432 --username=postgres -c '\conninfo'

See result

You are connected to database "postgres" as user "postgres" on host "localhost" at port "5432"

Done.

The following links might or might not related but it might help you some ways.