【问题标题】:How can you run a Docker container if it doesn't exist yet, or start it if it does?如果 Docker 容器尚不存在,您如何运行它,或者如果存在则启动它?
【发布时间】:2018-03-28 06:19:16
【问题描述】:

例如,如果我有这样的运行命令:

docker run --name yo -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp ubuntu sh tmp.sh 

如果我再次运行它,它会吐出这个错误:

来自守护程序的错误响应:冲突,名称 yo 已分配 到 c23849234e。您必须删除(或重命名)该容器 能够再次将 yo 分配给容器。

它可以与 docker start 一起使用:

docker start -ia yo

所以我只想做一个或另一个。

【问题讨论】:

    标签: docker


    【解决方案1】:

    简单的答案,使用 shell ||手术。因此,如果run 失败,它将改为start

    docker run --name yo -v $PWD:/usr/src/myapp -w /usr/src/myapp ubuntu sh tmp.sh || docker start -ia yo
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 2017-11-27
      • 2014-07-20
      • 2023-03-23
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      相关资源
      最近更新 更多