Container vs Virtual machine
Részletesebb
szöveges leírás
Képekkel
Container technológiák
- LXC: "original" Linux Container Technology
- docker
- Kubernetes: aka: K8S
Kérdések
- Miért kell ez egy fejlesztőnek
- Mi lesz a "végtermék"
DEVOPS
Link
Docker telepítése
Ha már van linux-unk, nézzük meg
- A docker konténerek jellemzően linux alapúak -> nem árt ha ismerjük legalább az alap Linux parancsokat
- könyvtárak kezelése
- cd
- mkdir
- rmdir
- ls és paraméterei
- fájlok
- cat
- echo "Hello World" > szoveg.txt
- a ">>" operátor
- szövegszerkesztők
- vi: csak fekete öveseknek
- nano
- rm
- chmod
- cp
- mv
- ln
- telepítés
- sudo
- apt vagy apt-get (bizonyos distro-kon yum)
- további hasznos parancsokat
- man
- whoami
- ps
- kill
- shutdown
- reboot
Mi került telepítése?
- Docker desktop service
- Docker desktop alkalmazás
- Docker kliens
hub.docker.com
- Ez egy publikus docker registry
- Regisztráció után bárki tölthet fel saját image-t -> mi is fogunk
- A publikus image-eket bárki használhatja -> kellő óvatossággal!!
néhány érdekes image
- Official images (...) Néhány példa:
- web servers
- linux distros
- adatbázisok
- memcached
- redis
- postgres
- mysql
- mariadb
- mongo
- elasticsearch
- frameworks
- python
- node
- php
- .net core
Próbáljunk ki egyet!
httpd
docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
Mit mit jelent?
- paraméterek (...)
- "-d": detach: Run container in background and print container ID
- "-i": interactive: Keep STDIN open even if not attached
- "-t": tty: Allocate a pseudo-TTY (tty -> teletype
)
- "-name": konténer neve: my-apache-app
- "-p": publish: Publish a container's port(s) to the host ([localhost port] : [konténer
port])
- "-v": volumn: Bind mount a volume ([helyi könyvtár] : [konténer könyvtár])
- $PWD: elvileg az aktuális könyvtár -> Windows-on is?? -> NEM. Windowson %cd% van
- Parancs végén az image neve és a verziószáma
docker run -dit --name my-apache-app -p 8080:80 -v %cd%:/usr/local/apache2/htdocs/ httpd:2.4
Feladat: próbáljuk ki az alábbi paraméterezéssel:
docker run -dit --name apache-webapp -p 8080:80 -v "d:\13C-docker\html":/usr/local/apache2/htdocs/ httpd:2.4
Tippek:
- kerüljük az ékezetek a helyi könyvtár nevében
- érdemes ellenőrzni előtte, hogy van-e már működő webszerver a gépen, ami "fogja" a 8080-as portot,
ha van akkor válasszunk másik helyi portot (resmon).