2017-07-03 48 views
0

私はドッカーエコシステムに新しく、yamlコンポーザファイルを使用してデータを保持するようにボリュームとともにポストグルコンテナを作成しようとしています。initdb:PostgreSQLコンテナのディレクトリのパーミッションを変更できませんでした。

# Use postgres/example user/password credentials 
version: '3.3' 
services: 
    db: 
     image: postgres 
     environment: 
      POSTGRES_DB: recrow 
      POSTGRES_USER: recrow 
      POSTGRES_PASSWORD: recrow_db_1000 
      PGDATA: /var/lib/pgsql/data/pgdata 
     volumes: 
      - ./pgsql/data:/var/lib/pgsql/data/pgdata 

をしかし、私は次のエラーを取得するdocker-compose -f stack.yml upを呼び出すときに:次のようにファイルがある

fixing permissions on existing directory /var/lib/postgresql/data/pgdata ... initdb: could not change permissions of directory "/var/lib/postgresql/data/pgdata": Operation not permitted

/var/lib/pgsql/data/pgdata./pgsql/dataはパスが入っているときに、コンテナのルートへの相対ディレクトリであると考えられますザ・ホスト。私は/mnt/storageにマウントされたntfs-3gパーティションからコンテナを実行しています。何が問題なの?私はまた、ドッカーグループに私のユーザを追加することによって、ルートアクセス権なしでドッカーを実行しています。また、このユーザは前述のマウントポイント/mnt/storageに完全にアクセスできます。

答えて

0

これはntfs-3gとの非互換性があると推測しています。 PostgreSQLイメージには、コンテナ開始時にいくつかのパーミッションを変更しているエントリポイントスクリプトが含まれています:https://github.com/docker-library/postgres/blob/972294a377463156c8d61297320c872fc7d370a9/9.6/docker-entrypoint.sh#L32-L38。私はhttps://askubuntu.com/questions/11840/how-do-i-use-chmod-on-an-ntfs-or-fat32-partitionに、マウント時にパーミッションを設定できることを話している別の関連する質問を見つけました。しかし、chmodまたはchownで変更することはできません(この場合は失敗の原因になります)。

ここでの答えは、ntfs-3gをDockerホストボリュームのマウントをバックするために安全に使用できないということです。

関連する問題