如果尚未运行docker容器,如何运行

我仅在尚未运行的情况下才需要运行docker容器。给定此命令。如果它不存在,我将如何运行它。

docker run --name nginx -d nginx

我可以使用任何脚本或语言。

回答:

使用过滤器检查是否存在特定名称的容器:(

请参阅docker ps

Filterring)

#!/bin/bash

name='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 nginx

fi

要么:

if ! docker ps --format '{{.Names}}' | egrep '^nginx$' &> /dev/null; then

docker run --name nginx -d nginx

fi

以上是 如果尚未运行docker容器,如何运行 的全部内容, 来源链接: utcz.com/qa/423960.html

回到顶部