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.