Úvod
Obrázky dockeru v rámci běžícího kontejneru se neaktualizují automaticky. Jakmile použijete obrázek k vytvoření kontejneru, pokračuje v běhu dané verze, i když vyjdou nové verze.
Pokud nemáte konkrétní důvod použít starší verzi, doporučujeme spouštět kontejnery z nejnovějšího obrazu Dockeru.
V tomto kurzu se dozvíte, jak aktualizovat obrázek a kontejner Dockeru na nejnovější verzi.
Předpoklady
- Přístup k příkazovému řádku/oknu terminálu
- Uživatelský účet s sudo privilegia
- Stávající instalace Dockeru
- Stávající kontejner Docker a obrázek Docker
Aktualizujte obrázek a kontejner Dockeru na nejnovější verzi
Nejlepší způsob, jak aktualizovat stávající kontejner nejnovějším obrázkem, je stáhnout nejnovější obrázek a spustit nový kontejner se stejnou konfigurací. Postupujte podle níže uvedených kroků a aktualizujte svůj kontejner nejnovějším obrazem Docker.
Krok 1:Zkontrolujte aktuální verzi
Ověřte, zda máte zastaralý obrázek, uvedením obrázků ve vašem systému pomocí příkazu:
sudo docker images
Výstup zobrazuje stažené obrázky a jejich značky (čísla verzí). V příkladu níže systém ukazuje, že používá mysql verze obrázku 5.7.31 . Oficiální obrázky MySQL společnosti Docker uvedené na DockerHubu ukazují, že nejnovější verze (v době psaní tohoto článku) je 8.0.21 .
Pokud tedy na tomto obrázku běží kontejner, je nejlepší jej aktualizovat.
Krok 2:Vytáhněte nejnovější obrázek
Stáhněte si novější verzi obrázku pomocí docker pull
příkaz:
sudo docker pull [docker_image]
Ve výchozím nastavení Docker stáhne nejnovější verzi. Chcete-li to zajistit, můžete přidat :latest
tag.
Chcete-li například stáhnout nejnovější obraz mysql, spustili byste:
sudo docker pull mysql/mysql-server:latest
Krok 3:Spusťte nový aktualizovaný kontejner
Jakmile si stáhnete nejnovější obraz Dockeru, musíte zastavit a odstranit starý kontejner. Poté vytvořte nový s nejnovějším obrázkem.
1. Najděte název běžícího kontejneru se zastaralým obrázkem uvedením kontejnerů v systému:
sudo docker ps
V tomto příkladu výstup zobrazuje kontejner pomocí mysql/mysql-server:5.7.31 obrázek.
2. Zastavte a odstraňte stávající kontejner, abyste mohli spustit nový pod stejným názvem:
sudo docker stop [container_id]
sudo docker rm [container_id]
Nahraďte [container_id]
s ID číslem kontejneru.
3. Znovu vytvořte kontejner pomocí docker run
příkaz a požadovanou konfiguraci pomocí aktualizovaného obrazu Docker:
sudo docker run --name=[container_name] [options] [docker_image]
Pokud nějaký máte, nezapomeňte připojit svazek Docker přiřazený k dříve použitému kontejneru, abyste zajistili, že aktualizovaný kontejner bude mít stejný obsah. Chcete-li to provést, použijte -v
následuje cesta k adresáři svazku.
Chcete-li například spustit aktualizační kontejner MySQL, spustili byste:
sudo docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4. Chcete-li zkontrolovat, zda byl váš kontejner aktualizován nejnovějším obrazem Dockeru, uveďte kontejnery s:
sudo docker ps