簡體   English   中英

Rex-ray AWS S3 外部卷 docker(docker-compose 不工作)

[英]Rex-ray AWS S3 external volume docker (docker-compose not working)

我正在嘗試在 AWS S3 上將 postgres 和 pgadmin 與 rex-ray 外部卷一起使用。 我做了:

Docker plugin install rexray/s3fs:0.11.4 S3FS_ACCESSKEY=XXXXXXXXXXXXX S3FS_SECRETKEY=XXXXXXXXXXXXXXXXX

然后我創建了兩個卷(用於 postgres 和 pgadmin):

Docker volume create --driver rexray/s3fs:0.11.4 myrexvol1-1234
Docker volume create --driver rexray/s3fs:0.11.4 myrexvol2-1234

當我運行docker volume ls時,我可以看到卷。

我現在嘗試在 docker-compose 中使用這些外部 S3 卷,但它不起作用並且 S3 中沒有創建任何內容:

version: "3.8"
services:
  pgAdmin:
    restart: always
    container_name: pgadmincontainer
    image: dpage/pgadmin4:4.25
    ports:
      - "8000:80"
    environment:
      PGADMIN_DEFAULT_EMAIL: email@admin.com
      PGADMIN_DEFAULT_PASSWORD: 1234
    volumes:
      - myrexvol1-1234:/var/lib/pgadmin
  postgres:
    image: postgres
    container_name: databasecontainer
    restart: always
    environment:
      POSTGRES_USER: me
      POSTGRES_PASSWORD: password
      POSTGRES_DB: database
    ports:
      - 5432:5432
    volumes:
      - ./sqlscripts:/docker-entrypoint-initdb.d
      - myrexvol2-1234:/var/lib/postgresql/data
volumes:
  myrexvol1-1234:
    name: myrexvol1-1234
    external: true
  myrexvol2-1234:
    name: myrexvol2-1234
    external: true

我究竟做錯了什么? 奇怪的是,我可以在容器內手動創建一些東西,然后它會反映在 S3 存儲桶內,即:

docker container run -it -v myrexvol2-1234:/myvol centos
  ...inside the container here...
# cd /myvol
# date >mydate
# ls -l

在入口點腳本 PGDATA 目錄中嘗試更改為用戶 postgres。

find "$PGDATA" \! -user postgres -exec chown postgres '{}' +

它還嘗試更改訪問權限:

chmod 700 "$PGDATA" || :

由於無法更改卷橋接點的所有者,因此在 postgres 的服務定義中添加以下環境變量:

PGDATA: "/var/lib/postgresql/data/pgdata"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM