GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Shell:Zkontrolujte, zda existuje kontejner Docker?

Jak mohu zkontrolovat bash skript, pokud toto

sudo docker images -q nginx

mi dává výsledný řetězec, což znamená, že tento kontejner existuje

sudo docker images -q nginx
if [ $? != '' ]
then
    echo "existing"
else
    echo "missing

Přijatá odpověď:

$? není řetězec, ale stav ukončení sudo (v tomto případě). Chcete-li to správně použít, porovnejte to s nulou s -gt , nebo použijte if (( $? )) (v prostředí jako bash nebo ksh93 který provádí aritmetické vyhodnocení pomocí (( ... )) ).

Pokud sudo docker images -q nginx vám dá řetězec, pokud kontejner existuje, a nic, pokud neexistuje, pak jej můžete uložit do proměnné a zjistit, zda je prázdná nebo ne:

result=$( sudo docker images -q nginx )

if [[ -n "$result" ]]; then
  echo "Container exists"
else
  echo "No such container"
fi

Docker
  1. Úvod do Dockeru

  2. Jak spustit MySQL v kontejneru Docker

  3. Jak SSH do kontejneru Docker

  1. Některé příkazy DOCKER

  2. Jak přiřadit statickou IP ke kontejneru Docker

  3. Jak vypsat Docker kontejnery

  1. Jak nainstalovat Vim do kontejneru Docker

  2. Spuštění OpenSSH v kontejneru Alpine Docker

  3. Spuštění shellu v kontejneru Docker Alpine