Postgresql 将Docker命令转换为Docker-compose.yml时出错
尝试使用compose版本3将以下2个docker命令转换为docker-compose.yml时Postgresql 将Docker命令转换为Docker-compose.yml时出错,postgresql,docker,docker-compose,timescaledb,wal-e,Postgresql,Docker,Docker Compose,Timescaledb,Wal E,尝试使用compose版本3将以下2个docker命令转换为docker-compose.yml时 docker run \ --name timescaledb \ --network timescaledb-net \ -e POSTGRES_PASSWORD=insecure \ -e POSTGRES_INITDB_WALDIR=/var/lib/postgresql/data/pg_wal \ -e PGDATA=/var/lib/postgr
docker run \
--name timescaledb \
--network timescaledb-net \
-e POSTGRES_PASSWORD=insecure \
-e POSTGRES_INITDB_WALDIR=/var/lib/postgresql/data/pg_wal \
-e PGDATA=/var/lib/postgresql/data/pg_data \
timescale/timescaledb:latest-pg11 postgres \
-cwal_level=archive \
-carchive_mode=on \
-carchive_command="/usr/bin/wget wale/wal-push/%f -O -" \
-carchive_timeout=600 \
-ccheckpoint_timeout=700 \
-cmax_wal_senders=1
及
运行docker compose up时,出现以下错误:
错误:合成文件“./docker Compose.yml”无效,因为:
services.wale不支持的配置选项:“卷\u自”
如何正确翻译这两个Docker命令以使用Compose版本3?我们需要能够指定卷在主机上的位置,即../timescaledb
使用Mac OS X 10.15.3、Docker 19.03.8、Docker Compose 1.25.4
docker-compose.yml
在容器timescaledb中,您实际上正在将/var/lib/postgresql/data装载到./timescaledb,因此,如果您想将相同的卷用于wale容器,您可以编辑wale容器,如下所示:
...
volumes:
- ./backups:/backups
- ./timescaledb:/var/lib/postgresql/data
...
在这种情况下,两个容器都可以从同一个装入的卷读写本地计算机
此外,请记住删除此部分,因为它不是docker compose中的有效命令:
volumes_from:
- tsdb
...
volumes:
- ./backups:/backups
- ./timescaledb:/var/lib/postgresql/data
...
volumes_from:
- tsdb