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 ... donegreatingNový obraz Ghost můžete zkontrolovat pomocí následujícího příkazu:
obrázky dockeruVý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 MBNový kontejner Ghost můžete také zkontrolovat pomocí následujícího příkazu:
docker psVý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_1Krok 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_1Nyní spusťte následující příkaz pro zmenšení konfigurace na původní nastavení:
cd Ghostdocker-compose up -d --scale ghost=1 --no-recreateDalší informace najdete také v novém protokolu kontejneru Ghost.
protokoly dockeru ghost_ghost_2Vý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