2017-04-25 195 views
1

我正在docker容器內運行postgress。我試圖徹底刪除它並重新安裝。Docker Postgress清除所有數據

每次我開始時,它似乎是'重新啓動',而不是做一個新的實例。

當我重新開始新的實例我得到這樣一條消息,告訴我,當我最後關閉之前的數據庫:

postgres   | LOG: database system was shut down at 2017-04-25 18:28:02 UTC 

這些都是我拿了,企圖徹底刪除數據庫的步驟。

docker kill $(docker ps -q) # stop all containers 
    docker rm $(docker ps -a -q) # remove all containers 
    docker rmi $(docker images -q) # remove all images 
    docker network prune # remove all networks 
    docker volume prune # remove all networks 

然而,我總是得到日誌,指示以前的數據庫何時關閉。我怎樣才能完全刪除數據庫的所有痕跡?

回答

2

你可以試試:

docker volume rm $(docker volume ls -q) 

否則,做正確的方法是做:

docker rm -f -v postgres_container_name 

不過,我不認爲體積的問題。當您執行docker run --rm -it postgres時,入口點加載一些配置並重新啓動數據庫,因此預計會看到該消息。

+0

謝謝,問題是我正在運行一個最初工作的撰寫項目(https://github.com/puppetlabs/puppet-in-docker-examples/blob/master/compose/docker-compose.yml)。我現在正在運行完全相同的代碼,但數據庫失敗。所以我試圖完全重置一切,沒有運氣。你是否說我即使是第一次運行數據庫,也會看到該消息? –

+1

是的,即使這是第一次,你會看到這條消息。 – creack

+1

試着旋轉一個空的碼頭機,看看你是否可以重現。這個問題可能是其他地方。 – creack

1

它結束了那個搬運工撰寫被安裝在啓動文件夾,這些文件夾中docker-compose.yml規定,像這樣:

volumes: 
    - ./code:/etc/puppetlabs/code/ 
    - ./puppet/ssl:/etc/puppetlabs/puppet/ssl/ 
    - ./puppet/serverdata:/opt/puppetlabs/server/data/puppetserver/ 

的文件夾被更新上使用。通過刪除它們,我能夠解決我的問題。