GNU/Linux >> Znalost Linux >  >> Linux

Příkazy Dockeru visí bez odezvy

https://forums.docker.com/t/what-to-do-when-all-docker-commands-hang/28103/4Od korayhk:

Data obrázku kontejneru nemusíte znovu instalovat ani mazat. Jednoduše postupujte níže:

Nejprve zastavte službu

sudo service docker stop

Vyčistěte některé soubory, jak je uvedeno ve výše uvedeném příspěvku od Sama.

sudo rm -rf /var/run/docker
sudo rm /var/run/docker.*"

Spustit službu nyní

sudo service docker start

Spusťte svůj docker image

docker start <container-name>

Při prvním spuštění dockeru se zobrazí chyba:

Chybová odpověď od démona:neplatná hodnota pole záhlaví "oci runtime error:kontejner s ID existuje:7a244b8f5d07081538042ff64aebfe11fac1a36731526e77be53db7d94dca44d\n"Chyba:Nepodařilo se spustit kontejnery:

Zkuste znovu spustit příkaz pro spuštění dockeru. Váš kontejner bude magicky v provozu bez jakýchkoli chyb.


Po aktualizaci mého ubuntu na 5.8.0-34-generic . Měl jsem podobný problém. po různých pokusech o vyřešení bylo mým konečným řešením downgrade dockeru na předchozí pracovní verzi. Postupujte podle níže uvedených kroků:

  1. Kill docker
[email protected]:~# killall dockerd
[email protected]:~# ps -aux | grep dockerd
[email protected]:~# kill -9 your docker pid
  1. Odstraňte docker ce, cli a container.io
[email protected]:/home/xyz# apt remove docker-ce docker-ce-cli containerd.io
  1. volitelný krok:můj dockerd se neustále restartoval, takže jsem musel vypnout ir. Pokud uděláte totéž. po nové instalaci jej budete muset povolit:
systemctl disable docker
  1. zkontrolujte předchozí verze:
[email protected]:/home/xyz# apt-cache madison docker-ce
  1. nainstalujte starší verzi z výše uvedeného seznamu, v mém případě docker-ce 5:19.03.13~3-0~ubuntu-focal :
[email protected]:/home/xyz# apt install docker-ce=5:19.03.13~3-0~ubuntu-focal
  1. volitelné:pokud potřebujete přejít na nižší verzi také kontejnerd.io a cli, pak:
apt install docker-ce=5:19.03.13~3-0~ubuntu-focal containerd.io=1.3.9-1 docker-ce-cli=5:19.03.13~3-0~ubuntu-focal
  1. zkontrolujte svou instalaci:
whereis docker

systemctl status docker

Také jsem označil můj ukotvitelný panel, aby neupgradoval při upgradu apt příkaz.


Vyzkoušel jsem obě odpovědi od Garretha a steamfood, ale nechtěl jsem přeinstalovat docker, jak navrhl Invincible. Na svém systému jsem nic neměnil, takže jsem usoudil, že problém bude spíše v konfiguraci/nastavení kontejneru než v instalačním problému samotného dockeru.

Při spuštění systemctl start docker nebo cokoli jiného ke spuštění nebo zastavení služby docker, dostal jsem to do protokolů (spuštěním systemctl status docker v jiném terminálu):

Loading containers: start.

Container ef06fbb157169332c453f503bb2543ce914daf54600f8fa44699fa5833d9eb90 failed to exit

Po tomto bodě by se zablokoval.

Abych to napravil, nejprve jsem zabil proces identifikovaný v systemctl status docker s sudo kill -9 $PID .

Poté jsem smazal vše v /var/lib/docker/containers s sudo rm -rf /var/lib/docker/containers/* .

Tím se problémový kontejner vyčistil a od té doby vše fungovalo.


Vím, že tato otázka je trochu stará, ale chcete-li to opravit, zkuste smazat obsah:

/var/run/docker/libcontainerd

Linux
  1. 5 Linuxových příkazů, které začnu používat

  2. Některé příkazy DOCKER

  3. Vykonat řadu příkazů jedním sudem?

  1. Proč Bash neukládá příkazy, které začínají mezerami?

  2. Čas zahájení procesu s časovým pásmem?

  3. Automaticky spouštět služby v kontejneru Docker

  1. Co je Git Bash; Práce s příkazy Git Bash

  2. Nelze spustit službu Docker v Ubuntu 16.04

  3. Spusťte dva příkazy pomocí docker exec