例如,如果我有这样的运行命令:
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
所以我只想做其中一个。
答案 0 :(得分:20)
简单回答,使用shell ||操作。因此,如果run
失败,则会start
代替:
docker run --name yo -v $PWD:/usr/src/myapp -w /usr/src/myapp ubuntu sh tmp.sh || docker start -ia yo