docker能夠成功啓動,啓動命令以下:sql
docker run -d -p 54320:5432 -v `pwd`/pgdata:/var/lib/postgresql/data -e POSTGRES_USER=homestead -e POSTGRES_DB=ctgs -e POSTGRES_PASSWORD=secret postgres
錯誤緣由:docker
-v後面的參數,將docker映射文件拉到本地,而後每次啓動的時候去掛載了本地的文件,可能本地文件中的角色和密碼不正確,致使每次雖然啓動成功了可是並無認證經過,致使下面的問題報錯數據庫
解決方法:post
第一種:不讓docker啓動的時候去掛載本地文件spa
1.docker ps 在執行了上面的啓動以後,列出當前docker中已經存在的postgres數據庫的containerpostgresql
2.docker kill postgres的names 殺死postgres這個containercode
3.從新執行命令blog
docker run -d -p 54320:5432 -e POSTGRES_USER=homestead -e POSTGRES_DB=ctgs -e POSTGRES_PASSWORD=secret postgres
這條命令讓docker啓動的時候不會去掛載本地的文件class
這樣就解決了問題密碼
第二種:
刪除本地的pgdata文件夾,而後再重複執行最開始的啓動命令
1.docker ps 在執行了上面的啓動以後,列出當前docker中已經存在的postgres數據庫的container
2.docker kill postgres的names 殺死postgres這個container
3.刪除本地的pgdata文件夾
4.執行剛開始的命令
docker run -d -p 54320:5432 -v `pwd`/pgdata:/var/lib/postgresql/data -e POSTGRES_USER=homestead -e POSTGRES_DB=ctgs -e POSTGRES_PASSWORD=secret postgres
這樣也能解決問題 而且是完全的解決這個問題