GNU/Linux >> Znalost Linux >  >> Linux

Jak aktualizovat kontejner Docker s nulovým výpadkem

V prostředí Dockerized používáte více obrazů a pracujete s mnoha kontejnery. Když spustíte kontejner z bitové kopie, bude nadále spuštěna tato verze, protože obrazy Dockeru se neaktualizují automaticky. Možná budete muset aktualizovat ručně. Vždy se doporučuje spouštět kontejner z nejnovějšího obrazu Dockeru.

V této příručce vám ukážeme praktické příklady, jak aktualizovat běžící kontejner s nulovými prostoji.

Předpoklady

  • Nový server Ubuntu 20.04 na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace Docker CE a Docker Compose

Nejprve nainstalujte všechny požadované závislosti pomocí následujícího příkazu:

apt-get install git apt-transport-https ca-certificates curl software-properties-common -y

Dále přidejte klíč Docker GPG a úložiště pomocí následujícího příkazu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Po přidání úložiště nainstalujte Docker a Docker compose pomocí následujícího příkazu:

apt-get install docker-ce docker-compose -y

Jakmile jsou oba balíčky nainstalovány, můžete přejít k dalšímu kroku.

Krok 3 – Vytvořte soubor Docker Compose

Pro účely tohoto tutoriálu vytvoříme dockerovou síť, svazek a soubor docker-compose.yml pro nasazení kontejneru Ghost.

Nejprve vytvořte síť s názvem net a svazek s názvem ghost pomocí následujícího příkazu:

docker network vytvořit duch vytvoření svazku netdocker

Dále vytvořte adresář pro projekt Ghost pomocí následujícího příkazu:

mkdir Ghost

Dále změňte adresář na Ghost a vytvořte soubor docker-compose.yml:

cd Ghostnano docker-compose.yml

Přidejte následující řádky:

version:'3.5'services:ghost:image:ghost:3.36 volumes:- ghost:/var/lib/ghost/content environment:- VIRTUAL_HOST=ghost.example.com - url=http://ghost.example .com - NODE_ENV=restart výroby:vždy sítě:- netvolumes:ghost:external:truenetworks:net:external:true

Po dokončení uložte a zavřete soubor.

Výše uvedený soubor stáhne obrázek Ghost verze 3.36 a vytvoří kontejner Ghost pro doménu ghost.example.com.

Krok 4 – Vytvořte kontejner duchů

Nyní změňte adresář na Ghost a spusťte kontejner Ghost pomocí následujícího příkazu:

docker-compose up -d

Měli byste získat následující výstup:

Pulling ghost (ghost:3.36)...3.36:Pulling from library/ghostbb79b6b2107f:Pull complete99ce436c3449:Pull completef7bdc31da5f5:Pull complete7a1300b9ff59:Pull completea495c68fa838:Pull complete6e362a39ec35:Pull completeb68b4f3c36f7:Pull complete41f8b02d4a71:Pull complete3ecc736ea4e5:Pull completeDigest:sha256:595c759980cd22e99037811397012908d89efb799776db222a4be6d4d892917cStatus:Stažen novější obrázek pro duch:3.36Vytvoření ghost_ghost_1 ... hotovo

Obrázek Ghost můžete zkontrolovat pomocí následujícího příkazu:

obrázky dockeru

Výstup:

ID OBRÁZKU REPOSITORY TAG CREATED SIZEghost 3,36 455ce1645479 před 4 měsíci 440 MB

Kontejner Ghost můžete také zkontrolovat pomocí následujícího příkazu:

docker ps

Výstup:

ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV NÁZVY PORTŮSd4b51b1aafc8 ghost:3.36 "docker-entrypoint.s…" před 23 sekundami Nahoru o 20 sekund 2368/tcp ghost_ghost_1

Krok 5 – Aktualizujte soubor Docker Compose

V této části aktualizujeme soubor Docker Compose a změníme verzi Ghost z 3.36 na 3.37.1:

nano docker-compose.yml

Proveďte následující změny:

version:'3.5'services:ghost:image:ghost:3.37.1 volumes:- ghost:/var/lib/ghost/content environment:- VIRTUAL_HOST=ghost.example.com - url=http://ghost .example.com - NODE_ENV=restart výroby:vždy sítě:- netvolumes:ghost:external:truenetworks:net:external:true

Po dokončení uložte a zavřete soubor.

Krok 6 – Spusťte nový kontejner duchů

Nyní použijeme metodu škálování k vytvoření nového kontejneru Ghost, aniž bychom ovlivnili starší kontejner Ghost. Můžete to udělat pomocí následujícího příkazu:

cd Ghostdocker-compose up -d --scale ghost=2 --no-recreate

Měli byste získat následující výstup:

Pulling ghost (ghost:3.37.1)...3.37.1:Pulling from library/ghostbb79b6b2107f:Already exists99ce436c3449:Already exists7f4b5e228565:Pull completede71eab7febf:Pull complete29961d2eb573:Pull complete923f84e249ab:Pull completedfad6f73fc3d:Pull completeb16cf83b3022:Pull complete387b2254843c:Pull completeDigest:sha256:fad0c2631cbba3d6c61da6fa5ef39da201780f2ae64ce51f3d5ebb412ca2564bStatus:Stažen novější obrázek pro ghost:3.37.1Starting ghost_preghost_1 ... donegreating_1 ... donegreating 

Nový obraz Ghost můžete zkontrolovat pomocí následujícího příkazu:

obrázky dockeru

Výstup:

ID OBRÁZKU REPOSITORY TAG CREATED SIZEghost 3.37.1 c64d108acdfe před 3 měsíci 439 MBghost 3,36 455ce1645479 před 4 měsíci 440 MB

Nový kontejner Ghost můžete také zkontrolovat pomocí následujícího příkazu:

docker ps

Výstup:

ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV JMÉNA PORTŮSc21550f39440 ghost:3.37.1 "docker-entrypoint.s…" před 33 sekundami Nahoru o 31 sekund 2368/tcp ghost_ghost_2d4b51b1aafc8 minutes:docker-entrypoint.s…" ghost ago minut 2368/tcp ghost_ghost_1

Krok 7 – Měřítko nového kontejneru Ghost

V tomto okamžiku oba Ghost kontejnery běží pomocí stejné konfigurace. Nyní zastavíme a odstraníme starý kontejner Ghost.

zastavení kontejneru dockeru ghost_ghost_1kontejner dockeru rm ghost_ghost_1

Nyní spusťte následující příkaz pro zmenšení konfigurace na původní nastavení:

cd Ghostdocker-compose up -d --scale ghost=1 --no-recreate

Další informace najdete také v novém protokolu kontejneru Ghost.

protokoly dockeru ghost_ghost_2

Výstup:

[2021-03-05 04:50:13] INFO Blog je v režimu údržby.[2021-03-05 04:50:13] INFO Ghost běží ve výrobě...[2021-03-05 04 :50:13] INFO Váš web je nyní dostupný na http://ghost.example.com/[2021-03-05 04:50:13] INFO Ctrl+C pro vypnutí[2021-03-05 04:50 :13] INFO Ghost boot 3.581s[2021-03-05 04:50:13] INFO Vytvoření zálohy databáze[2021-03-05 04:50:13] INFO Záloha databáze zapsána do:/var/lib/ghost/content /data/ghost.ghost.2021-03-05-04-50-13.json[2021-03-05 04:50:13] INFO Aktualizace nastavení tlačítka portálu na hodnotu false[2021-03-05 04:50:13 ] Blog INFO je mimo režim údržby.

Váš kontejner Ghost je nyní aktualizován o nový obrázek Ghost.

Závěr

Ve výše uvedené příručce jste se naučili, jak aktualizovat kontejner Docker bez jakýchkoli prostojů. Začněte s aktualizací svého kontejneru Docker na hostingu VPS od Atlantic.Net!


Linux
  1. Jak nainstalovat Jenkins pomocí Docker

  2. Jak aktualizovat ISO pomocí Zsync?

  3. Jak nasadit kontejner nginx s Dockerem na Linode

  1. Jak nainstalovat WordPress s Dockerem na Ubuntu

  2. Jak spustit MySQL v kontejneru Docker

  3. Jak opustit kontejner Docker

  1. Jak používat příkaz Docker Run s příklady

  2. Jak aktualizovat obrázek a kontejner Dockeru na nejnovější verzi

  3. Jak spustit Jenkins Container jako službu Systemd pomocí Dockeru