Docker ์ž๋™ ๋ฐฐํฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋ฉฐ.

2022. 3. 18. 18:28ยท ๐Ÿค”ํšŒ๊ณ /ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 
๋ชฉ์ฐจ
  1. ๐Ÿ˜… ๊ทธ๋™์•ˆ์˜ ๋น„ํšจ์œจ์ ์ธ ๋ฐฐํฌ ๊ณผ์ •
  2. ๐ŸŽ™ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ๊ฐ€
  3. ๐Ÿ˜ญ ์ฝœ๋ฐฑ ์ง€์˜ฅ
  4. ๐Ÿ›  ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๋ฌธ์ œ
  5. ๐Ÿš€ ์ž๋™ํ™” ํˆด์„ ๋งŒ๋“ค๊ธฐ๊นŒ์ง€
  6. โŒจ๏ธ ๊ด€๋ จ ๋งํฌ
๋ฐ˜์‘ํ˜•

https://github.com/Team-DeVent/devent-deploy

 

๐Ÿ˜… ๊ทธ๋™์•ˆ์˜ ๋น„ํšจ์œจ์ ์ธ ๋ฐฐํฌ ๊ณผ์ •

 

 ๊ธฐ์กด ํ™ˆ์„œ๋ฒ„์— ๋ฐฐํฌํ•  ๋•Œ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณผ์ •์˜ ์—ฐ์†์ด์—ˆ๋‹ค. ์›๊ฒฉ ์ ‘์†์œผ๋กœ ํŒŒ์ผ์„ ์ด๋™ํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์ข…๋ฃŒ์‹œํ‚จ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ๋ฎ์–ด์“ฐ๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ ๊นƒํ—ˆ๋ธŒ์™€ ๊ฐ™์€ ํˆด์„ ์“ฐ์ง€ ์•Š์•„ ๋ฒ„์ „ ๊ด€๋ฆฌ์—๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด์™ธ์—๋„ ์˜์กด์„ฑ์ด ๊นจ์ง€๋ฉด ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด์—๋„ ์˜ํ–ฅ์ด ๊ฐ„๋‹ค๊ฑฐ๋‚˜, ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์œ„ํ•ด ์•ž์„  ๊ณผ์ •์„ ๋‹ค์‹œ ์ง„ํ–‰ํ•˜๋Š” ๋“ฑ ๋ฌธ์ œ์ ์ด ๋งŽ์•˜๋‹ค. 

 

 ์ฝ”๋“œ๋ž€ ์œ ๊ธฐ์ฒด์™€ ๊ฐ™๋‹ค. ์ง€์†์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๊ณ  ์‹ ๊ฒฝ ์จ์ฃผ์ง€ ์•Š์œผ๋ฉด ์ฐŒ๊บผ๊ธฐ(๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ)๊ฐ€ ํ•„์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ๋ฐฐํฌ์˜ ์ž๋™ํ™”๋‹ค. ์ด์ „ ๊ธ€์—์„œ๋„ ์„ค๋ช…ํ–ˆ๋“ฏ์ด, ๋ช‡ ๋…„ ์ „์—๋Š” USB๋กœ ํŒŒ์ผ์„ ์ด๋™ํ•˜๋Š” ๋งŒํ–‰(?)์„ ์ €์ง€๋ฅด๊ธฐ๋„ ํ–ˆ๋‹ค. ๋ถ„๋ช… ๋‹น์‹œ์—๋Š” ๋ฒ„์ „์ด ๊ผฌ์ด๊ณ  ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๊ฐ€ ๋„˜์ณ๋‚˜๋„ ํฐ ๋ถˆํŽธํ•จ์„ ๋А๋ผ์ง€ ๋ชปํ–ˆ๋‹ค. ๊ธฐ๋Šฅ์€ ๋งŽ์•„๋ดค์ž 6๊ฐœ ์ •๋„์˜€๊ณ  ์ฝ”๋“œ ๊ฐ„ ์˜์กด์„ฑ์ด ์—†๋‹ค์‹œํ”ผ ํ–ˆ์—ˆ๊ธฐ์— ๋ฒ„๊ทธ ๋˜ํ•œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค. 

 

 ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ์ข‹์€ ์ฝ”๋“œ๊ฐ€ ๋˜๋Š”๊ฑด ์•„๋‹ˆ๋‹ค. ํ’€์žฅ์— ๋ฌผ์ด ๊ฐ€๋“ ์ฐจ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ๋‚ด๊ฐ€ ํ’€์žฅ์— ๋“ค์–ด๊ฐ”์„ ๋•Œ ์ ๋‹นํ–ˆ๋‹ค๊ณ  ํ•ด์„œ ์นœ๊ตฌ 100๋ช…์„ ๋ฐ๋ ค์™€๋„ ๋„˜์น˜์ง€ ์•Š์„ ๊ฑฐ๋ž€ ๋ณด์žฅ์€ ์—†๋‹ค. ์ฝ”๋“œ ํ’ˆ์งˆ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ๋ฒ„๊ทธ๊ฐ€ ์—†๋‹ค๊ณ  ํ•ด์„œ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ–ˆ์„ ๋•Œ๋„ ๋ฒ„๊ทธ๊ฐ€ ์—†์„ ๊ฑฐ๋ผ๋Š” ๊ฐ€์ •์€ ์„ฑ๋ฆฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 ๊ทธ๋ž˜์„œ ๊ทธ๋™์•ˆ์˜ ๋ฐฐํฌ ๊ณผ์ •์„ ๊ฐœ์„ ํ•˜๊ณ ์ž ๊นƒํ—ˆ๋ธŒ ์›นํ›…๊ณผ ๋„์ปค ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š” ํˆด์„ ๋งŒ๋“ค๊ณ ์ž ํ–ˆ๋‹ค. 

 

 

๐ŸŽ™ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ๊ฐ€

 

 ์šฐ์„  ๊นƒํ—ˆ๋ธŒ ์›นํ›…์„ ๋ฐ›๊ณ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋งํฌ๋ฅผ ํŒŒ์‹ฑํ•˜๋Š” ๋กœ์ง์ด ํ•„์š”ํ•˜๋‹ค. ๋‹ค์Œ์œผ๋กœ git clone <link>๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ์— ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค. ์ดํ›„ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” dockerfile๋กœ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋œ๋‹ค. ์•„๋ž˜ ๋กœ์ง์„ ๋ณด๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ˜ญ ์ฝœ๋ฐฑ ์ง€์˜ฅ

 

 NodeJS ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ฝœ๋ฐฑ ์ง€์˜ฅ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ์•Œ๊ณ  ์žˆ๋‹ค. ๋„์ปค API ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์—์„œ dockerode๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋„์ปค ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‚ญ์ œํ•˜๋Š” ๋ฐ์— ์ฝœ๋ฐฑ์— ์ฝœ๋ฐฑ์„ ๋ถˆ๋Ÿฌ์˜ค๋ฉฐ ์ฝ”๋“œ๊ฐ€ ๋”๋Ÿฌ์›Œ์ง€๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค. ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ๋ณ„๋กœ ์ฝœ๋ฐฑ์„ ๋ฌถ์–ด ์„œ๋น„์Šค ๋กœ์ง์œผ๋กœ ๋งŒ๋“ค๊ณ  ๋ชจ๋“  ๋กœ์ง์€ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ–ˆ๋‹ค. ์›น ํ›… ์š”์ฒญ์ด ์˜ค๋ฉด eventemitter๋กœ ์ด๋ฒคํŠธ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋™๊ธฐ์ ์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

 

 

๐Ÿ›  ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๋ฌธ์ œ

 

 ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด ๋ฌธ์„œ๋ฅผ ์ž์„ธํ•˜๊ฒŒ ์ฝ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ตํ›ˆ์„ ์–ป์—ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด nginx reverse proxy์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ• ๋‹นํ•˜๊ณ  letsencrypt SSL์„ ๋ฐœ๊ธ‰๋ฐ›๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ๋ฐฐํฌ ์ค‘๊ฐ„์— SSL ์ธ์ฆ์„œ๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐœ๊ธ‰๋˜์ง€ ์•Š์•„์„œ ์ปจํ…Œ์ด๋„ˆ์˜ ์ ‘์† ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ถ„๋ช… ์„œ๋ธŒ ๋„๋ฉ”์ธ ์—ฐ๊ฒฐํ–ˆ๊ณ  ์ปจํ…Œ์ด๋„ˆ๋„ ์ •์ƒ ์ž‘๋™ํ•˜๋Š”๋ฐ well-known/acme-challenge/* ๋งํฌ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์—†์–ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์ง€ ๋ชปํ•œ๋‹ค๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์—ˆ๋‹ค.

 

 2์ผ๋™์•ˆ ๊ณ ๋ฏผํ•ด๋ณธ ๋์— ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ์„ค์ • ๋ฌธ์ œ์˜€๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฐฐํฌ๋  ์„œ๋น„์Šค ๋‚ด์— ./deployenv๋ผ๋Š” ํŒŒ์ผ์—์„œ ์„œ๋ธŒ ๋„๋ฉ”์ธ ์ •๋ณด์™€ ์ธ์ฆ์„œ ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„ค์ •ํ•˜๋Š”๋ฐ, ์ด ๋‘ ๋„๋ฉ”์ธ์˜ ์ฃผ์†Œ๊ฐ€ ๋‹ฌ๋ผ์„œ ์ธ์ฆํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์ฆ‰, ์„œ๋ธŒ ๋„๋ฉ”์ธ์€ dds.devent.kr๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ ์ธ์ฆ์„œ ๋„๋ฉ”์ธ์€ dds1.devent.kr๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜์–ด ์ •์ƒ์ ์œผ๋กœ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์—†์—ˆ๋‹ค.

 

 ์ค‘๊ฐ„์ค‘๊ฐ„ ์‚ฝ์งˆ์ด ๋งŽ์•˜๋‹ค. reverse proxy ๋Œ€์‹  ํ˜ธ์ŠคํŠธ์— ๋‹ค์ด๋ ‰ํŠธ๋กœ ์„ค์น˜ํ•ด๋ณด๊ธฐ๋„ ํ•˜๊ณ , ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ต์ฒดํ•ด๋ณด๊ธฐ๋„ ํ–ˆ์ง€๋งŒ ๋๋‚ด ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค. ํ•ด๋‹น ๋ชจ๋“ˆ์˜ ๋ฌธ์„œ๋ฅผ ์กฐ๊ธˆ ๋” ์„ธ์„ธํ•˜๊ฒŒ ์ฝ์–ด๋ณด์•˜๋‹ค๋ฉด ๋ฌธ์ œ๋ฅผ ๋นจ๋ฆฌ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์—ˆ๊ฒ ๋‹ค๋Š” ์•„์‰ฌ์›€์€ ๋‚จ์•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์„œ ํ›„๋ จํ–ˆ๋‹ค.

 

 

๐Ÿš€ ์ž๋™ํ™” ํˆด์„ ๋งŒ๋“ค๊ธฐ๊นŒ์ง€

 

 ์ฒ˜์Œ์— CI ๋„์ž…์„ ๊ณ ๋ คํ–ˆ์—ˆ๋‹ค. circleCI๋ผ๋Š” ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๊ธธ๋ž˜ ์‚ฌ์šฉํ•ด๋ณด์•˜๋”๋‹ˆ ์•„์ง TDD์™€ ์ฝ”๋“œ ํ†ตํ•ฉ์— ๋Œ€ํ•ด ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ์‚ฌ์šฉํ•˜๊ธฐ์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ์ž๋™ ๋ฐฐํฌ๋งŒ ๋˜๋ฉด ๋˜๋Š”๋ฐ ๊ทธ ์ด์ƒ์˜ ๊ธฐ๋Šฅ๋“ค๋„ ๋งŽ์•„์„œ CI๋ฅผ ์“ฐ๊ธฐ์— ์•„์ง์€ ์ด๋ฅธ ์‹œ๊ธฐ๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ์ดํ›„, ๋ฐฐํฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์—†์„๊นŒ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

 

 ๊ทธ๋ ‡๊ฒŒ ๋„์ปค ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™๋ฐฐํฌ+SSL ์ ์šฉ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

โŒจ๏ธ ๊ด€๋ จ ๋งํฌ

 

์ฝ”๋“œ๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•œ ์‚ฌํ•ญ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.

 

https://github.com/Team-DeVent/devent-deploy

 

GitHub - Team-DeVent/devent-deploy: Auto Deployment Service with Docker

Auto Deployment Service with Docker. Contribute to Team-DeVent/devent-deploy development by creating an account on GitHub.

github.com

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿค”ํšŒ๊ณ  > ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋””์ž์ธ ์‹œ์Šคํ…œ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๋ฉด์„œ.  (0) 2022.06.16
๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ฐœ๋ฐœ ํšŒ๊ณ   (0) 2022.04.07
NodeJS ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ  (0) 2022.03.17
  1. ๐Ÿ˜… ๊ทธ๋™์•ˆ์˜ ๋น„ํšจ์œจ์ ์ธ ๋ฐฐํฌ ๊ณผ์ •
  2. ๐ŸŽ™ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ๊ฐ€
  3. ๐Ÿ˜ญ ์ฝœ๋ฐฑ ์ง€์˜ฅ
  4. ๐Ÿ›  ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๋ฌธ์ œ
  5. ๐Ÿš€ ์ž๋™ํ™” ํˆด์„ ๋งŒ๋“ค๊ธฐ๊นŒ์ง€
  6. โŒจ๏ธ ๊ด€๋ จ ๋งํฌ
'๐Ÿค”ํšŒ๊ณ /ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋””์ž์ธ ์‹œ์Šคํ…œ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๋ฉด์„œ.
  • ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ฐœ๋ฐœ ํšŒ๊ณ 
  • NodeJS ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ
DipokalHHJ
DipokalHHJ
์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ”ญ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ํ—ˆํ˜•์ค€์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์ธ ์—์„ธ์ด์™€ ๋Œ€์ค‘์ ์ธ ๊ธฐ์ˆ  ์นผ๋Ÿผ์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฒ ๋“œ ์Šคํƒ€ํŠธ์—… ๋ฐ์นด๋ฅดํŠธ์ขŒํ‘œ๊ณ„๋ฅผ ์ฐฝ๋ฆฝํ•˜๊ณ  bleeding edge ๊ธฐ์ˆ ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
DipokalHHJ
ํ—ˆํ˜•์ค€
DipokalHHJ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (141)
    • ๐Ÿ’ป๊ธฐ์ˆ  (64)
      • Python (2)
      • JavaScript (6)
      • NodeJS (7)
      • Docker (3)
      • Architecture (1)
      • DevOps (3)
      • CTF (3)
      • Security (2)
      • UIUX (1)
      • ์—๋Ÿฌ์™€์˜ ์ „์Ÿ (12)
      • ์ •๋ณด๊ณต์œ  (8)
      • ๊ธฐํƒ€ (7)
    • ๐Ÿ˜„์ƒ๊ฐ (22)
      • ์Šคํ† ๋ฆฌ (10)
      • ํ”„๋กœ์ ํŠธ (9)
      • ํ”„๋ฆฌ์Šคํƒ€์ผ (5)
      • ์งง์€๊ธ€ (7)
      • ์‹œ๋ฆฌ์ฆˆ (2)
      • Advertisement (1)
      • ์—์„ธ์ด (1)
      • ์ƒ๊ฐ์กฐ๊ฐ (0)
    • ๐Ÿค”ํšŒ๊ณ  (9)
      • ์—ฐ๊ฐ„ ํšŒ๊ณ  (3)
      • ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  (4)
      • ์งง์€ ๊ธฐ๋ก (2)
    • ๐ŸŽธ๊ธฐํƒ€ (1)
      • ์Šค๋ฌด๋”-ํ”„๋กœ์ ํŠธ๊ณต์ง€ (2)
    • ๐Ÿš€์—์„ธ์ด (4)
    • ์ฒ ํ•™ (1)
    • ๋น„์ฆˆ๋‹ˆ์Šค (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

  • ๋ธ”๋กœ๊ทธ ์†Œ๊ฐœ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Nodejs
  • vscode
  • HackCTF
  • ๊นƒํ—ˆ๋ธŒ
  • ๊ฐœ๋ฐœ
  • ๋„์ปค
  • ๊ต์œก
  • php
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • TypeScript
  • ๊ธฐ์ˆ 
  • github
  • ๋ณด์•ˆ
  • ์†Œํ”„ํŠธ์›จ์–ด
  • ์Šคํƒ€ํŠธ์—…
  • ๋‹จ์ˆœํ•˜๊ฒŒ ์‚ด๊ธฐ
  • ์›นํŒฉ
  • ์ •๋ณด๋ณด์•ˆ
  • ์ฒญ์†Œ๋…„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ๋””์ž์ธ
  • ํšŒ๊ณ 
  • ๊ฐœ๋ฐœ์ž
  • js
  • ๋””์ž์ธ ์‹œ์Šคํ…œ
  • ์ค‘ํ•™์ƒ
  • docker
  • ์—๋Ÿฌ
  • webpack
  • ์Šค๋ฌด๋”ํ”„๋กœ์ ํŠธ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
DipokalHHJ
Docker ์ž๋™ ๋ฐฐํฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋ฉฐ.
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.