通过docker-compose down持久化卷的问题

时间:2018-10-01 13:50:51

标签: docker docker-compose

我有一个docker-compose文件,其中包含:

version: '3'
services:
  postgres:
    image: "postgres"
    network_mode: "host"
    volumes:
      - "/run/postgresql:/run/postgresql:Z"
      - "postgresData:/var/lib/postgresql/data"
volumes:
  postgresData: {}

但是,当我运行docker-compose down然后运行docker-compose up时,postgres数据会丢失。据我了解,这是预期的默认行为,但是我想更改此设置,以便永远不会重置我的postgres数据。也许我误解了docker-compose down的用途。我看到还有stopstart命令,但似乎不清楚是否可以不运行docker-compose pull来运行down

如何确保我的postgres数据始终存在?

1 个答案:

答案 0 :(得分:3)

如果您删除花括号,这应该可以Official doc

version: '3'
services:
  postgres:
    image: "postgres"
    network_mode: "host"
    volumes:
      - postgresData:/var/lib/postgresql/data
volumes:
  postgresData:

docker-compose up offcial-doc up -构建,(重新)创建,启动并附加到服务容器。

docker-compose start offcial-doc start -启动用于服务的现有容器。

docker-compose down offcial-doc down -如果要删除卷,则默认情况下停止容器并删除容器,网络,请使用-v标志

docker-compose stop offcial-doc stop -停止运行容器而不删除它们。可以使用docker-compose start

重新开始