โ๏ธ Cloud Native/๐ณ Docker
์ด๋ฒ์๋ Python Programming ํ๊ฒฝ์ Container๋ก ์ ๊ณตํด ๋ณด๊ธฐ ์ํ ์ค์ต์ ํ๋ฒ ํด๋ณด๊ฒ ์ต๋๋ค.Docker ์ปจํ
์ด๋์ Python ์ด๋ฏธ์ง ์ค์น ๋ฐ ์คํ # ์ํ ์์ค ์ฝ๋ ์์ฑ(๋ก๋ ํ๋ก๊ทธ๋จ)$ vi py_lotto.pyfrom random import shufflefrom time import sleepgamenum = input('๋ก๋ ๊ฒ์ ํ์๋ฅผ ์
๋ ฅํ์ธ์: ')for i in range(int(gamenum)): balls = [x+1 for x in range(45)] ret = [] for j in range(6): shuffle(balls) # balls๋ฅผ ๋ฌด์์๋ก ์๊ณ , number = balls.pop() ..
โ๏ธ Cloud Native/๐ณ Docker
์ด๋ฒ์๋ Docker Container ๋ช
๋ น์ด๋ค์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.์ด๋ฏธ์ง๋ ์ฝ๊ธฐ ์ ์ฉ์ ๋ถ๋ณ ๊ฐ์ผ๋ก ๋ง๋ค์ด์ง๋๋ค. ์ด๋ฌํ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ๋์ปค ์์ง์ ์ปจํ
์ด๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ์ง์ ํจ๊ป ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํด์ ๋ง๋ค์ด์ง๋ ๊ฒ์ด ์ปจํ
์ด๋ ์
๋๋ค. ์ด๋ฒ์๋ ์ปจํ
์ด๋ ๊ตฌ๋, ์ ๊ทผ, ๋ก๊ทธ, ์ด์ ๋ฑ์ ๋ช
๋ น์ ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฏธ์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ปจํ
์ด๋ ๋ช
๋ น๋ dockerd ๋ฐ๋ชฌ์ด ์ ๊ณตํ๋ docker CLI API๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค.๋์ปค ์ด๋ฏธ์ง๋ ์ปจํ
์ด๋ ๋์๊ณผ ๊ด๋ จ๋ ์ฝํ
์ธ ๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ
์ด๋์ ๋์์ด ์ด๋ฃจ์ด ์ง๋๋ค. ๋ฐ๋ผ์ ์ปจํ
์ด๋ ๋ช
๋ น ๋๋ถ๋ถ์ด ์๋น์ค ์คํ ๋ฐ ์ด์๊ณผ ๊ด๋ จ๋์ด ์์ต๋๋ค.Container๋ Process๋ค๋์ปค ์ปจํ
์ด๋๋ ์์ ๋ฐฐ์ด ๋์ปค ..
โ๏ธ Cloud Native/๐ณ Docker
๋์ปค ์ด๋ฏธ์ง ํ๊ทธ ์ค์ ๊ณผ ๋์ปค ๋ก๊ทธ์ธ ๋ฐ ๋ก๊ทธ์์Docker Login & Logout ๋ถ๋ถ๋ถํฐ ์ด์ด์ ํด๋ณด๊ฒ ์ต๋๋ค.๋์ปค ํ๊ทธ(tag)๋ ์๋ณธ ์ด๋ฏธ์ง์ ์ฐธ์กฐ ์ด๋ฏธ์ง ์ด๋ฆ์ ๋ถ์ด๋ ๋ช
๋ น์
๋๋ค. ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.docker tag ์๋ณธ ์ด๋ฏธ์ง[:ํ๊ทธ] ์ฐธ์กฐ ์ด๋ฏธ์ง[:ํ๊ทธ]ํ๊ทธ ์ค์ ์ ์๋ก์ด ์ฐธ์กฐ๋ช
์ ๋ถ์ด๋ ์์
์ด๋ฏ๋ก ์ด๋ฏธ์ง ID๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.Example์ด๋ฏธ์ง ID์ ์ธ๋ถ ์ ๋ณด(OS, ๋ฒ์ ๋ฑ)๋ฅผ ๋ถ์ฌ ํ๊ทธ ์ง์ :toby@tobykakao:~$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdebian latest d36fff645336 13 days ago 139MBnginx ..
โ๏ธ Cloud Native/๐ณ Docker
Docker Container Service๋ฅผ ํ์ฉํ๊ธฐ ์ํ Docker ๋ช
๋ น์ด(CLI)์ ๋ฐํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.๋ชจ๋ Docker ๋ช
๋ น์ ํค์๋๋ก docker๋ฅผ ์์ ์ฌ์ฉํ๊ณ ๊ธฐ๋ณธ์ ์ธ ๋ช
๋ น์ด ์ฌ์ฉ๋ฒ์ help ๋ช
๋ น์ ํตํด ํ์ธํ๊ฑฐ๋ docker์์ ์ ๊ณตํ๋ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.docker COMMAND -helpDocker image ๋ช
๋ น์ด๋์ปค image๋ docker์ ํต์ฌ๊ธฐ์ ์ด๋ฉฐ ์ฝ๋๋ก ๊ฐ๋ฐ๋ ์ปจํ
์ด๋ ๋ด๋ถ ํ๊ฒฝ ์ ๋ณด(Binary, Library, ๊ฐ์ข
Tool๋ฑ)์ ๊ณ ์ค๋ํ ๋ณต์ ํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Docker Container๋ก ์ฌ์ฉํ Docker image๋ docker search๋ฅผ ํตํด ์กฐํํ๋ฉด Docker Hub ๋ฐ ๊ฐ์ธ ์ฌ์ฉ์๋ค์ด ๊ณต๊ฐํ ๊ด๋ จ ์ด๋ฏธ์ง๋ฅผ ์ดํด๋ณผ ์ ์์ต๋๋ค. Local ..
โ๏ธ Cloud Native/๐ณ Docker
ํ๋ฒ ์ค์นํ Docker Engine์ ํตํด ์ฒซ image๋ฅผ ๋ค์ด๋ก๋ ํด๋ณด๋ฉด์ ์ปจํ
์ด๋ ์๋น์ค๋ฅผ ํ๋ฒ ๊ฐ๋์์ผ ๋ณด๊ฒ ์ต๋๋ค.Docker Container Service๋ฆฌ๋
์ค ์ปจํ
์ด๋์ ๋ฏธ๋ ๋ผ๋ ์ ๋ชฉ์ผ๋ก ๋์ปค ์์ง์ ์ฒ์ ๋ฐํํ ์๋ก๋ชฌ ํ์ต์ค๋ docker ๋ผ๋ ์๋ก์ด ๋ช
๋ น์ผ๋ก ‘Hello World’ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ๋ฐ๋ชจ๋ฅผ ํ๋ฒ ์์ฐํ์ต๋๋ค.# docker hub ๋ ์ง์คํธ๋ฆฌ์์ ์ ๊ณตํ๋ busy box image๋ฅผ ๋ค์ด๋ก๋ ํ ์กฐํํด ๋ณด๊ฒ ์ต๋๋ค.toby@tobykakao:~$ docker pull busyboxUsing default tag: latestlatest: Pulling from library/busyboxDigest: sha256:768e5c6f5cb6db0794eec98dc7a967f40..
โ๏ธ Cloud Native/๐ณ Docker
ํ๋ฒ UTM์ ์ค์นํ ๊ฐ์๋จธ์ (VM) Ubuntu์ Docker Community Edition Version์ ํ๋ฒ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.Docker Community Edition ์ค์นํด๋ณด๊ธฐ (Terminal ver.)Ubuntu์์ Terminal์ ์ฐ ๋ค์, ํ๋ฒ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.๋จผ์ , ํ์ฌ ์ฐ๋ถํฌ ๋ฒ์ ์ ํ์ธํด์ค๋๋ค.cat /etc/lsb-releasetoby@tobykakao:~$ cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=24.04DISTRIB_CODENAME=nobleDISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"์ต์ ํจํค์ง๋ก ์
๋ฐ์ดํธ๋ฅผ ์ํํด์ค๋๋ค.sudo apt-get updatetoby@tobykakao:~$ ..
โ๏ธ Cloud Native/๐ณ Docker
Docker์ ๋ํ ๋ณด์ถฉ ๊ฐ๋
์ค๋ช
๋ฐ Docker๋ฅผ ์ค์นํ VM(๊ฐ์๋จธ์ )์ ํ๋ฒ ์ค์นํด๋ณด๊ฒ ์ต๋๋ค.Docker?์์์ Docker์ ๋ํ์ฌ ๊ฐ๋จํ๊ฒ ์ค๋ช
์ ํ์ง๋ง, ํ๋ฒ ๋ ๊ฐ๋ตํ ์ค๋ช
ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋์ปค๋ ๊ธฐ์กด์ ๋ฆฌ๋
์ค ์ปจํ
์ด๋LXC ๊ธฐ์ ์ ์ด์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์ปจํ
์ด๋๋ก์ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋ค์๊ณ , ์ค์น ํ ๋ฒ์ ์ ๋ณด docker version๋ฅผ ํ์ธํด ๋ณด๋ฉด Go ์ธ์ด๋ก ๊ตฌ์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ถ์ ์ดํ ๊พธ์คํ ๊ธฐ์ ๊ฐ๋ฐ์ ํตํด ์ฌ์ค์ ์ปจํ
์ด๋ ๊ฐ์ํ๋ฅผ ์ด์ฉํ ์ฐจ์ธ๋ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ค๋ฃจ์
next generation cloud infrastructure solution์ ํ์ค์ด ๋์์ต๋๋ค.๋์ปค์์ ์ฌ์ฉํ๋ ์ปจํ
์ด๋ ๊ฐ์ํ ๊ธฐ์ ์ ๋ณํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.์ด๊ธฐ ๋์ปค๋ ๋ฆฌ๋
์ค ์ปจ..