2017-08-11 15 views
0

私はpostgresでデータの永続化を試みています。しかし、データファイルをローカルファイルにマウントするときに、このエラーが発生します。Postgres Dockerコンテナデータがローカルにマウントされない

fixing permissions on existing directory /var/lib/postgresql/data ... ok 
creating subdirectories ... ok 
selecting default max_connections ... 100 
selecting default shared_buffers ... 128MB 
selecting dynamic shared memory implementation ... posix 
creating configuration files ... ok 
LOG: could not link file "pg_xlog/xlogtemp.25" to "pg_xlog/000000010000000000000001": Operation not permitted 
FATAL: could not open file "pg_xlog/000000010000000000000001": No such file or directory 
child process exited with exit code 1 
initdb: removing contents of data directory "/var/lib/postgresql/data" 
running bootstrap script ... 

は、ここに私のYAMLファイル

version: '3.1' 

services: 

    postgres: 
    restart: always 
    image: postgres:9.6.4-alpine 
    ports: 
     - 8100:5432 
    volumes: 
     - ./pgdata:/var/lib/postgresql/data 
    environment: 
     POSTGRES_PASSWORD: root 

私はWindows上でドッキングウィンドウのツールボックスを使用しています。バーチャルボックス内のドッカーマシン。

答えて

0

データベースストレージの共有データディレクトリ(仮想ディレクトリに共有されているホストディレクトリ)を使用しているようです。

のみの2つのオプションが作る意味:

1)あなたは、いくつかのVirtualBoxともVMwareのバージョンで(グーグル)の既知の問題を打つ

2)ディレクトリの権限を持つ些細な問題を持っている上のいくつか! Windows版では、ホストから仮想マシンに共有されるディレクトリにシンボリックリンクを作成することはできません。

(2)の場合、回避策は共有フォルダを使用してデータを保持しないことです。

いずれにせよ、それはドッカー画像自体のプロバイダ、または仮想化プロバイダ(vbox、vmwareなど)のプロバイダによって解決されるべき問題です。

これはWindows OSまたはPostgreSQLの障害ではありません。

1

Windowsドッカーツールボックスの場合、/ mnt/sda1/var/lib/docker/volumes/psql/_dataのように見えます。これは私

docker run -it --name psql -p 5432:5432 -v psql:/var/lib/postgresql/data postgres:9.5-alpine 

"Mounts": [ 
      { 
       "Type": "volume", 
       "Name": "psql", 
       "Source": "/mnt/sda1/var/lib/docker/volumes/psql/_data", 
       "Destination": "/var/lib/postgresql/data", 
       "Driver": "local", 
       "Mode": "z", 
       "RW": true, 
       "Propagation": "" 
      } 

ドッカボリュームLS

DRIVER    VOLUME NAME 
local    65f253d220ad390337daaacf39e4d17000c36616acfe1707e41e92ab26a6a23a 
local    761f7eceaed5525b70d75208a1708437e0ddfa3de3e39a6a3c069b0011688a07 
local    8a42268e965e6360b230d16477ae78035478f75dc7cb3e789f99b15a066d6812 
local    a37e0cf69201665b14813218c6d0441797b50001b70ee51b77cdd7e5ef373d6a 
local    psql 

のために働いていたより多くの情報のためにこれを参照してください:bad mount

関連する問題