【问题标题】:remove a volume if exists如果存在则删除卷
【发布时间】:2021-12-27 16:07:52
【问题描述】:

作为我的 CICD 部署的一部分,有一个在 docker-compose build/up 上创建的卷 my_volume,需要删除每个部署。 因此,CICID 脚本在docker-compose build/up 之前调用docker volume rm my_volume。 但如果构建失败,后续构建将在 docker volume rm my_volume 上出错,因为该卷不存在。

如果此卷存在,我如何才能删除它?

【问题讨论】:

  • 你已经尝试了什么? Compose 是否管理卷?

标签: docker docker-volume


【解决方案1】:

您可以忽略错误:

docker volume rm ${some_volume} || true

或者您可以先确保项目完全停止:

docker-compose down -v
docker-compose up -d

或者您可以在测试时开始标记您的卷和容器,并修剪这些标签:

docker volume prune -f --filter 'label=ci-test'

【讨论】:

    【解决方案2】:

    为了在调用“docker volume rm my_volume”时忽略失败,请使用以下命令-

    set +e
    docker volume rm my_volume
    docker-compose build/up
    true
    

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 2014-12-24
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多