如何使用标志使 docker-compose volume 为可选或禁用 volume

How to make docker-compose volume as optional or disable volume using flag

我想在我的 docker-compose 文件中设置一个标志,如果我不需要我的数据库卷是否不会在容器外持久化,但我仍然想要一个卷条目,如果我的数据库很小然后我不想让它在外面持续存在。

您可以使用两个 docker-compose.yml 个文件。

  1. docker-compose.yml

  2. docker-compose.small.yml

覆盖编号 #2 和 运行 中的音量部分:

docker-compose -f docker-compose.yml -f docker-compose.small.yml up -d

更多背景资料:https://docs.docker.com/compose/extends/

卷不能是可选的,但有一个使用单个 docker-compose 文件的解决方法:

    volumes:
      - ${DUMMY_MOUNT:-.:/app}

默认情况下这将执行常规挂载:.:/app 但您可以设置 DUMMY_MOUNT 变量来避免它。例如。 DUMMY_MOUNT=.:/dummy docker-compose up.