2016-08-28 8 views
0

私はdocker-compose.ymlファイルのpostgresイメージを使用している複数のコンテナアプリケーションを持っています。 Postgresコンテナには、永続ストレージのためのホストマシン上のボリュームがあります。docker-compose up-up-upで永続的なストレージを作成するにはどうすればいいですか?

初めてドッキングを実行すると、すべて正常ですが、postgresは自分のホストフォルダにdbファイルを作成します。 Webコンテナのコー​​ドを変更する場合は、ドッカーでアプリケーションを一時的にシャットダウンする必要があります。

私はdocker-composeを2回目に実行すると、すべてのdbファイルを上書きしますが、データは変更されません。どうすればこの問題を解決できますか?

マイドッキングウィンドウ-compose.yml

version: '2' 

services: 
    web: 
     build: ./web 
     command: python3 main.py 
     volumes: 
     - ./web:/app 
     ports: 
     - "80:80" 
     depends_on: 
     - db 
     - redis 
     links: 
     - db:db 
     - redis:redis 

    db: 
     image: postgres 
     ports: 
     - "5432:5432"  
     environment: 
     - POSTGRES_PASSWORD:0000 
     volumes: 
     - ./pgdb:/var/lib/postgresql/data 

    redis: 
     image: redis 
     ports: 
     - "6379:6379" 
     command: redis-server --appendonly yes 
     volumes: 
     - ./redisdb:/data 
+0

私はこの問題を解決します。おそらく、rootのrootユーザーで_pgdb_ディレクトリの権限を変更したために発生します。所有者は_postgres_ userなので、デフォルトではホストマシンで_pgdb_を開くことができませんでした。 私は間違っている可能性がありますが、問題を解決するために停止した後、問題の解決はなくなりました。 – programmer22222

+0

自分の投稿に回答を追加して閉じることができます。他の人がこのソリューションに興味があるかもしれません。 – Alkaline

答えて

0

私はこの問題を解決します。これはおそらく私がの許可をのホストのホストのディレクトリに変更したために発生します。デフォルトでは、所有者がのpostgresのユーザであるため、pgdbをホストマシンで開くことができませんでした。私は間違っている可能性がありますが、私が解決策を変更するために停止した後、問題はなくなりました。

関連する問題