使用过滤器检查是否存在特定名称的容器:(
请参阅docker ps
Filterring)
#!/bin/bashname='nginx'[[ $(docker ps -f "name=$name" --format '{{.Names}}') == $name ]] ||docker run --name "$name" -d nginx该
docker run如果第一部分是假的,才执行。
为了安全起见(
docker ps可能会返回多个名称),您也可以选择这样做(如果您认为“ nginx”一词不能作为任何容器名称的一部分):
if ! docker ps --format '{{.Names}}' | grep -w nginx &> /dev/null; then docker run --name nginx -d nginxfi要么:
if ! docker ps --format '{{.Names}}' | egrep '^nginx$' &> /dev/null; then docker run --name nginx -d nginxfi


