2017-02-24 56 views
2

託管文件夾下面是我的搬運工撰寫文件泊塢容量的數據不會被保存在MAC

version "2" 
services: 
    my_postgres: 
     image: postgres:9.6 
     volumes: 
      - /Users/my_user_name/test_docker/my_volume_space:/var/lib/postgresql 
     ports: 
      - "5432:5432" 

我在Mac

docker-machine start 
docker-machine env 
evcal "$(docker-machine env default)" 

docker-compose up 

psql -h 192.168.99.100 -p 5432 -U postgres 

create table test (my_id bigserial primary key); 
INSERT INTO test (my_id) values (1); 
SELECT * FROM test; 

\q 

最初輸入以下命令我想上面的命令會導致將在主機的./my_volume_space中創建的.sql文件。但我看不出有任何.sql文件中./my_volume_space,而只是一個空data目錄./my_volume_space

而且如果我docker-compose downdocker-compose up我又可以看到我的數據庫中的數據現在已經沒有了。

我懷疑當我在映像運行時創建數據時,數據不會被存儲回./my_volume_space,因此當我重新啓動時,沒有任何東西要掛載到主機上。

有人能告訴我我做錯了什麼嗎?

感謝

+0

你檢查,如果「同步」通過連接到my_postgres容器和做一些像「觸摸的/ var/lib中的作品,例如/postgresql/testfile.txt「?如果它出現在你的主機上,那麼也許這個鏡像將pg數據保存在其他地方,或者它沒有完成同步,因爲使用osxfs在mac上裝載docker卷非常慢。我甚至做了關於這個的文章:espeo.eu/blog/docker-for-mac-performance-tweaks/ – barat

回答

0

我相信在容器上卷路徑是/var/lib/postgresql/data/var/lib/postgresql