๐Ÿณ์ธํ”„๋ผ

์ด๋ฏธ์น˜๋Š” ๊ณ„์ธต์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค. (์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด)์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ €์žฅ์†Œ๋ฅผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. ๋ฌด๋ฃŒ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ ๋„์ปค ํ—ˆ๋ธŒ ์กด์žฌ  --name ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ์— ์ด๋ฆ„์„ ๋ถ™์ด๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€์นญํ•จ  HTTP ์š”์ฒญ์„ ๊ตฌ๊ธ€๋กœ ๋ณด๋‚ธ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ž€ ์šด์˜์ฒด์ œ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ‚ค-๊ฐ’ ์Œ์ด๋‹ค. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋„ ๋ณ„๋„์˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์šด์˜์ฒด์ œ๊ฐ€ ์•„๋‹Œ ๋„์ปค๊ฐ€ ๋ถ€์—ฌํ•ด ์ค€๋‹ค.ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ๋ณ„๊ฐœ์ด๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋Š ์˜ค์ง ๋„์ปค๊ฐ€ ๋ถ€์—ฌํ•œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋งŒ์„ ๊ฐ–๋Š”๋‹ค. ๋„์ปค ์ด๋ฏธ์ง€๋Š” ์„ค์ •๊ฐ’์˜ ๊ธฐ๋ณธ๊ฐ’์„ ํฌํ•จํ•ด ํŒจํ‚ค์ง•๋˜์ง€๋งŒ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ด ์„ค์ •๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.์ด๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ๋™์ผํ•œ ์ปจํ…Œ์ด๋„ˆ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด์ง€๋งŒ, ์„ค์ •๊ฐ’์— ์˜ํ•ด ๋™์ž‘์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.Doc..
๋กœ์ปฌ์— ์ด๋ฏธ์ง€๊ฐ€ ์—†์–ด์„œ unable to find image locally → ๋„์ปค๊ฐ€ ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์Œ๋‚ด๋ ค๋ฐ›๊ณ  ํ•ด๋‹น ์ด๋ฏธ์ง€๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋„์ปค ์›Œํฌํ”Œ๋กœ ๊ณผ์ • ์ดํ•ด ๊ฐ€๋Šฅ (๋นŒ๋“œ-๊ณต์œ -์‹คํ–‰ ์›Œ์ปคํ”Œ๋กœ)์ œ์ž‘์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง•ํ•˜๊ณ  ๊ณต์œ ํ•œ ๊ฒƒ์„ ๋‚ด๊ฐ€ ๋‚ด๋ ค๋ฐ›์•„์„œ ์‹คํ–‰ํ•œ๋‹ค.์žฌ์‹คํ–‰ ์‹œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์ง€ ์•Š๊ณ , ์ปจํ…Œ์ด๋„ˆ๋งŒ ์‹คํ–‰ํ•œ๋‹ค.์ถ”๊ฐ€๋กœ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ๊ธฐ์—, ์ปดํ“จํ„ฐ ์ด๋ฆ„์ด ๋ฐ”๋€๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅ ์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ƒ์ž์ด๋‹ค.์ปจํ…Œ์ด๋„ˆ๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ํ™˜๊ฒฝ์„ ๊ฐ–๊ณ , ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•œ๋‹ค.ํ˜ธ์ŠคํŠธ๋ช…, IP์ฃผ์†Œ, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชจ๋‘ ๋„์ปค๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ€์ƒ ๋ฆฌ์†Œ์Šค์ด๋‹ค. ์ด๋“ค์ด ์—ฎ์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด ๋งŒ..
๋„์ปค๋Š” Paas์˜ ์žฅ์ ์ธ ์šด์˜๋น„์™€ IaaS์˜ ์žฅ์ ์ธ ์ด์‹์„ฑ์„ ๋ชจ๋‘ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.PaaS์˜ ์šด์˜ ํšจ์œจ์„ฑ: ์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฐ€๋ฒผ์šด ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์œผ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ํฌํ•จํ•˜๋ฏ€๋กœ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์ด ํšจ์œจ์ ์ด๋ฉฐ, ์šด์˜์ฒด์ œ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— PaaS์ฒ˜๋Ÿผ ์šด์˜๋น„๋ฅผ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.IaaS์˜ ์ด์‹์„ฑ: Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ํ™˜๊ฒฝ์„ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์šด์˜ ํ™˜๊ฒฝ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ œ๊ฑฐํ•ด “ํ•œ ๋ฒˆ ๋นŒ๋“œํ•˜๋ฉด ์–ด๋””์„œ๋‚˜ ์‹คํ–‰” ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ ์ปดํฌ๋„ŒํŠธ๋Š” ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ๊ฐ€์ƒ ๋จธ์‹ ์ฒ˜๋Ÿผ ๋…๋ฆฝ์ ์ด์ง€๋งŒ ๊ฒฝ๋Ÿ‰์ด๋ฉฐ PaaS์˜ ๋งค๋‹ˆ์ง€๋“œ ์„œ๋น„์Šค๋งŒํผ ํšจ์œจ์ ์ด๋‹ค. ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด์˜ ๋ชจ๋†€๋ฆฌ์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ณ„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ..
์บก์Šคํ†ค์—์„œ SpringBoot, MongoDB๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐฑ์•ค๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•œ๋‹ค.๋‚ด๊ฐ€ ์ธํ”„๋ผ๋ฅผ ๋งก๊ธฐ๋กœ ํ•ด์„œ CI/CD๋ฐ ์ธํ”„๋ผ๋ฅผ ์™„๋ฃŒํ•˜์˜€๋‹ค.๊ธฐ๋กํ• ๊ฒธ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.EC2๋Š” MongoDB,  SpringBoot ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ์—, ์ถ”๊ฐ€๋กœ 8080ํฌํŠธ์™€ 27017 ํฌํŠธ๋ฅผ ์—ด์–ด์ฃผ์—ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  t2.micro๋ง๊ณ  t3a.small์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. t2.micro๋Š” ๋„ˆ๋ฌด ์ž‘๋‹ค...https://start.spring.io/์‹คํ–‰ ์ž˜ ๋œ๋‹ค.์ด์ œ ๊นƒํ—ˆ๋ธŒ์— ์—ฐ๊ฒฐํ•ด์ฃผ์ž๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑํ•˜๊ณ git initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin git@github.com:seongjju/seongjju-web-..
3. Docker + ๋ฐฑ์—”๋“œ(Spring Boot) ํ”„๋กœ์ ํŠธ์— CI/CD ์ ์šฉํ•˜๊ธฐ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์กด์žฌDocker: ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธDocker, CodeDeploy: ์ปจํ…Œ์ด๋„ˆ + ํ™•์žฅ์„ฑ ๊ณ ๋ คํ•œ ํ”„๋กœ์ ํŠธ 1. Docker: ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์ „์ฒด ํ๋ฆ„์žฅ์ Docker ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์šด์˜ ์‹œ, ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ธํ”„๋ผ ๊ตฌ์กฐ๋‹จ์ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ๊ตฌํ˜„ or ์—ฌ๋Ÿฌ EC2์— ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค๋ฉด, ์ง์ ‘ Github Actions์— ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ, ๊ตฌํ˜„ ํ•„์š” -> ๋ณต์žก์‚ฌ์šฉ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ ๊ตฌ์„ฑ ์‹œ์†Œ๊ทœ ๋ชจํ”„๋กœ์ ํŠธ์‹ค์Šต 1EC2์— Docker ์„ค์น˜, ECR ์„ธํŒ… Ubuntu์—์„œ Docker, Docker Compose ์„ค์น˜$ sudo apt-get update && \ sudo apt-get install -y apt-t..
1. CI/CD ๊ธฐ๋ณธ ๊ฐœ๋… / Github Actions ๊ธฐ๋ณธ ๊ฐœ๋… 1. CI/CDContinuous Integration, Continuous Deployment๋ฐฐ์šฐ๋Š” ์ด์œ ์„œ๋น„์Šค ์šด์˜ ์‹œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ํ•„์š”์ด์— ๋”ฐ๋ผ, ์ฝ”๋“œ ์ž‘์„ฑ -> Commit -> Merge -> ๋ฐฐํฌ๋งค์šฐ ๊ท€์ฐฎ๋‹ค -> ์ด๋Ÿฐ ๋ฐ˜๋ณต์ ์ธ ๊ณผ์ •์„ ์ž๋™ํ™” 2. Github Actions์ €๋ฒˆ์— ์  ํ‚จ์Šค๋ฅผ ํ™œ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” Github Actions๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด์žhttps://koreatstm.tistory.com/140๋กœ์ง์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ผ์ข…์˜ ์ปดํ“จํ„ฐ์  ํ‚จ์Šค์˜ ๊ฒฝ์šฐ, ๋ณ„๋„ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ, Github Actions๋Š” ์„œ๋ฒ„ ๊ตฌ์ถ• ์—†์ด ๋‚ด์žฅ๋œ Github Actions ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋น„์šฉ๋„ ์ข‹๊ณ , ์…‹ํŒ…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„๋„ ์ ˆ์•ฝCI/CD ..
์ €๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ ๋„์ปค์— ๋Œ€ํ•ด ๋งˆ์ € ์•Œ์•„๋ณด์žhttps://koreatstm.tistory.com/195 ๋น„์ „๊ณต์ž๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” Docker ์ž…๋ฌธ/์‹ค์ „(1)1. Docker ๊ธฐ๋ณธ ๊ฐœ๋… 1. Docker๋ฅผ ์™œ ๋ฐฐ์šฐ๋Š” ๊ฑธ๊นŒ?์ด์‹์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. ์ด์‹์„ฑ: ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ๊ณณ์œผ๋กœ ์‰ฝ๊ฒŒ ์˜ฎ๊ฒจ์„œ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆex) ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋„ ๋‚ด ์ปดํ“จํ„ฐ์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ปดkoreatstm.tistory.com4. Dockerfile ํ™œ์šฉํ•ด ์ด๋ฏธ์ง€ ์ง์ ‘ ๋งŒ๋“ค๊ธฐ 1. Dockerfile์ด๋ž€์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ๋„์ปค ์ด๋ฏธ์ง€๋Š” ๋„์ปคํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋ฐ›์Œ์„ ๋ณด์•˜๋‹ค.๊ทธ๋Ÿผ ์ด ๋„์ปค ์ด๋ฏธ์ง€๋Š” ๋ˆ„๊ฐ€ ๋„์ปค ํ—ˆ๋ธŒ์— ์˜ฌ๋ ค๋†“์€๊ฑธ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋„์ปค ์ด๋ฏธ์ง€๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฑธ๊นŒ?Dockerfile: ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ฒŒ ํ•ด์ฃผ๋Š” ํŒŒ์ผ๋„์ปคํŒŒ์ผ์„ ์ด..
1. Docker ๊ธฐ๋ณธ ๊ฐœ๋… 1. Docker๋ฅผ ์™œ ๋ฐฐ์šฐ๋Š” ๊ฑธ๊นŒ?์ด์‹์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. ์ด์‹์„ฑ: ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ๊ณณ์œผ๋กœ ์‰ฝ๊ฒŒ ์˜ฎ๊ฒจ์„œ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆex) ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋„ ๋‚ด ์ปดํ“จํ„ฐ์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ปดํ“จํ„ฐ์˜ OS , ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์ด ๋‹ค๋ฅด๊ธฐ์— ์„ค์น˜๊ฐ€ ์•ˆ๋  ์ˆ˜ ์žˆ๊ณ , ์„ค์น˜๊ณผ์ •์ด ๋ณต์žกํ•  ๊ฒฝ์šฐ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Docker๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.์ถ”๊ฐ€์ ์ธ ์žฅ์ ์„ค์น˜ ๊ณผ์ • ์ผ์ผ์ด ์•ˆ ๊ฑฐ์ณ๋„ ๋œ๋‹ค.ํ•ญ์ƒ ์ผ๊ด€๋˜๊ฒŒ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๊ฐ€๋Šฅํ”„๋กœ๊ทธ๋žจ์ด ๋…๋ฆฝ์ ์ธ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ -> ์ถฉ๋Œ x์ถ”๊ฐ€ ๊ฐœ๋…IP: ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ํŠน์ • ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†ŒํฌํŠธ: ํ•œ ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋žจ ์ฃผ์†Œwell-known port: 0~1023๊นŒ์ง€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ ์žˆ๋Š” ํฌํŠธ ๋ฒˆํ˜ธex) 22(SSH), 80(HTTP), 443(HTTPS) 2...
๊ณ„๋ž€์†Œ๋…„
'๐Ÿณ์ธํ”„๋ผ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ