๐ ๋์ปค ์ ๋ฆฌํด๋ณด์
0. ์๊ฐ
22๋
์คํ์ค๋ฒํ๋ฌ์ฐ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํ์ธํด๋ณด๋ฉด, git ๋ค์์ผ๋ก ๋ง์ด์ฐ๋๊ฒ docker์
๊ทธ๋ผ ์ด๊ฒ ๋ฉ๊น?
1. ๊ทธ๋์ ์ด๊ฒ ๋จผ๋ฐ?
๋์ปค๋? ์ดํ๋ฆฌ์ผ์ด์ ์ ํจํค์ง ํ ์ ์๋ ํด
์ปจํ ์ด๋ ๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋์ ์์ ์ํํธ์จ์ด ์ ๋ ๋ด๋ถ์ application, system tools, dependencies ๋ชจ๋ ๊ฑธ ํ๋๋ก ๋ฌถ์ด์ ๋ค๋ฅธ์๋ฒ ๋ค๋ฅธ PC, ๋ค๋ฅธ ์ด์์ฒด์ ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ๋จ
์๋ฅผ๋ค์ด node.js๋ฅผ ์ฌ์ฉํ๋ค ํ์๋ ๋ก์ปฌ์์ ์ฌ์ฉํ๋๋ฐ node.js์ npm ๋ํฌ๋์, config ๋ฑ์ ๋ชจ๋ ์๋ฒ ๋ชจ๋ ํผ์์ ์ค์ ํ๋๊ฑฐ๋ ๊ท์ฐฎ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋งค์ฐ ๋์
- ๋๋ node js๋ฅผ ์ฐ๊ณ , ์๋ฒ๋ node.js๋ฅผ ์ฐ๋๊น app.js๋ง ์ฌ๋ฆฌ๋ฉด ๋์ํ๊ฒ ์ง => ์ด๊ฒ ๋ง์ด ์๋จ
- ๋ฒ์ ๋ฌธ์ ๋ผ๋๊ฐ ๊ธฐํ ๋ฅ๋ฅ ๋ฌธ์ ๊ฐ ์๊ธธ๊บผ์
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ๊ฒ ๋ฐ๋ก ๋์ปค์
- ์ฐ๋ฆฌ์ ๋ถ๋๋ฌ์ด app.js ๋ฟ๋ง ์๋๋ผ
- ์ด๊ฑธ ๋์ํ๊ธฐ์ํ ๋ฒ์
- ํ๊ฒฝ์ค์ , npm, ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ํฌ๋์ ๋ฑ
- ํ๋ฒ์ ๋ชจ์์ ๋์ปค ์ปจํ ์ด๋ ์์ ๋ฃ์ด๋
- ์ด๋ค pc์์๋ ์ง ๋ค ์ ๋์ํ๊ธ์ง,,,,
- ์งฑ์งฑ ์ ์ฉํ๋ค
2. ์ปจํ ์ด๋์ ๊ฐ์๋จธ์ ์ ์ฐจ์ด
๋ณด๋ฉด๋ณผ์๋ก virtual box๊ฐ์๋์ด๋ ๋น์ทํ๋ฐ?
ํ์ง๋ง ๋์ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ
- VM์ infrastructure ์์ Hypervisor ์ํํธ์จ์ด๋ฅผ ์ด์ฉํด
- ๊ฐ๊ฐ ๊ฐ์์ ๋จธ์ ์ ๋ง๋ค ์ ์์
- ๊ฐ๊ฐ์ ๊ฐ์์ ๋จธ์ ์๋ ๊ฐ ์ด์์ฒด์ ๋ฅผ ํฌํจํจ
- ๊ทธ๋์ ๋งฅ์ ์ window๋ ๋๋ฆด์์์
- ํ์ง๋ง? ๋ฌด๊ฒ๋ค,,, ๊ฐ๋ฌด๊ฒ๋ค,,,
- ์์ํ๋๋ฐ๋ ์ค๋๊ฑธใน๋ฆฌ๊ณ ,,๋ฆฌ์์ค๋ ๋ง์ด ๋จน๊ธ์ ,,
๊ทธ๋์ ์ปจํ ์ด๋๋ ๋จผ๋ฐ?
- ๊ฐ์๋จธ์ ์ ๊ฒฝ๋ํ ์ํค์!
- ๋๊ฐ์ infrastructure ์์ Hypervisor์ด ์๋
- Host OS(๊ธฐ์กด OS)๋ฅผ ์ฌ์ฉํ๋ฉฐ ๊ทธ์์ Container Engine์ ์ฌ๋ ค๋
- ์ด ์์ ๊ฐ๋ณ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด์ ๊ณ ๋ฆฝ๋ ํ๊ฒฝ์์ ๊ตฌ๋๋๊ฒ ํด์ค
- ๊ทธ๋์ ๋ค๋ฅธ์ ์ OS๋ฅผ ํฌํจํ์ง ์๊ณ , ๋์ผํ OS๋ฅผ ๊ณต์ ํ๋๊ฑฐ๋ผ๋๊ฒจ
์ด ์ปจํ ์ด๋ ์์ง์ด ๋ฐ๋ก ๋์ปค ์์ง ใ ใ
3. ๋์ปค์ ๋์ ์์
- ์ปจํ
์ด๋ ๋ง๋ค๊ณ
- ๋์ปคํ์ผ ๋ง๋ค๊ธฐ
- ์ปจํ ์ด๋๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค์ด์ผ ํ๋์ง์ ๋ํ ์ค๋ช ์? ๋ ์ํผ
- ๊ผญ ํ์ํ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ํฌ๋์ ๋ฑ ๋ช ์
- ํ์ํ ํ๊ฒฝ๋ณ์ ์ค์
- ์ด๋ป๊ฒ ๊ตฌ๋ํด์ผํ๋์ง ์คํฌ๋ฆฝํธ ํฌํจ ๊ฐ๋ฅ
- ์ด๋ฏธ์ง ํ์ผ ๋ง๋ค๊ธฐ
- ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ๋ฐํ์ ํ๊ฒฝ ๋ฑ๋ฑ ๋ชจ๋ ์ธํ ๋ค์ด ํฌํจ๋์ด ์์
- ์ฝ๊ฒ๋งํ๋ฉด ํ์ฌ ์คํ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ค์ท๋ง๋ฅ ์ฐ์ด์ ๋ณด๊ดํ๋ค๊ณ ์๊ฐํ๋ฉด ์ข์
- ๊ทธ๋์ ์ด๋ฏธ์ง๋ ๋ณ๊ฒฝ์ ๋ชปํ๋ ๋ถ๋ณ์ ์ํ์
- ์ฝ๊ฐ ํด๋์ค๋ ๋น์ทํ๋ฌ๊น?
- ์ปจํ
์ด๋ ๋ง๋ค๊ธฐ
- ์ฐ๋ฆฌ๊ฐ ์ ๋ง๋ ์ ๋ค์ ์ปจํ ์ด๋ ์์์๋ง ๋์ํ๋๋ฐ
- ๊ณ ๋ฆฝ๋ ํ๊ฒฝ, ์ด๋ฏธ์ง๋ฅผ ํตํด ๊ตฌ๋ํ๋ค
- ๋์ปคํ์ผ ๋ง๋ค๊ธฐ
- ๊ตฌ๋ํ๊ณ
- ๋ฐฐํฌํ๋ค
- git๊ณผ github๊ฐ์ ๋๋
- ๊ณต์ ํ ์ ์๋ Container repogistory๋ docker hub, red hat, github ๋ฑ์ด ์์
- private์ aws, google cloud, azure์ด ์์
4. ์๋ง๋ ์ด์ ๋ฆฌ
- ๋ก์ปฌ์ ๋์ปค ์ค์นํ์
- ์๋ฒ์๋ ๋์ปค ์ค์นํ์
- ๋ก์ปฌ์์ ๋์ปคํ์ผ ์์ฑ ํ ์ด๋ฏธ์ง ์์ฑ
- container registry ์ push ํจ
- ์ดํ sever์์ pull ํ๊ณ
- runํ์
5. ๊ทธ๋์ ์ฌ์ฉ ์์๋ ์ด๋๊ฐ?
์ ๋์ค์ ์ถ๊ฐํ๋ค๊ณ ~
๋๊ธ๋จ๊ธฐ๊ธฐ