- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > Àü»êÅë°è/Çؼ® > µµÄ¿¿¡¼ À©µµ¿ì ÄÁÅ×ÀÌ³Ê »ç¿ëÇϱâ(2ÆÇ)[¿¡ÀÌÄÜÃâÆÇ]
À©µµ¿ì ¼¹ö¿ëÀ¸·Î ¸¸µç ¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ¿äÁîÀ½ À¯ÇàÇÏ´Â µµÄ¿(Docker) ±â¹ÝÀ¸·Î À©µµ¿ì ÄÁÅ×ÀÌ³Ê ÇüÅ·Πº¯È¯Çϱâ À§ÇÑ ±â¼úÀûÀÎ ¹æ¹ý°ú ³ëÇϿ츦 ´ã°í Àִ åÀÌ´Ù. µµÄ¿¸¦ »ç¿ëÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ýÀ» Æ÷ÇÔÇؼ ¿À·¡µÈ À©µµ¿ì ¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÚµå ¼öÁ¤ ¾øÀÌ Å¬¶ó¿ìµå ³×ÀÌƼºê ±â¹ÝÀ¸·Î Çö´ëÈÇÒ ¼ö ÀÖ´Â Àü·«À» ¼³¸íÇÑ´Ù. ¶ÇÇÑ ÇÁ·Î´ö¼Ç ȯ°æ¿¡¼ À©µµ¿ì ÄÁÅ×À̳ʸ¦ °ü¸®Çϱâ À§ÇÑ ¹æ¾È°ú, µ¥ºê¿É½º °³³äÀ» óÀ½ Á¢ÇÏ´Â °³¹ßÀÚµéÀ» À§ÇÑ ¿öÅ©Ç÷ο츦 ¼Ò°³ÇØ À©µµ¿ì ÄÁÅ×À̳ʸ¦ ½Ç¹«¿¡ µµÀÔÇÏ´Â °ÍÀ» °í¹ÎÇÏ´Â »ç¶÷µé¿¡°Ô ºñÀüÀ» Á¦½ÃÇÏ°í ÀÖ´Ù.
ÀúÀÚ: ¿¤Æ° ½ºÅæ¸Ç
1ºÎ. Docker¿Í À©µµ¿ì ÄÁÅ×ÀÌ³Ê ÀÌÇØÇϱâ
1Àå. À©µµ¿ì¿¡¼ Docker ½ÃÀÛÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker¿Í À©µµ¿ì ÄÁÅ×À̳Ê
____À©µµ¿ì ¹öÀü
____À©µµ¿ì ¶óÀ̼±½º Ãëµæ
__DockerÀÇ Áß¿ä °³³ä ÀÌÇØÇϱâ
____Docker ¿£Áø°ú Docker CLI
____ÄÁÅ×ÀÌ³Ê À̹ÌÁö
____À̹ÌÁö ·¹Áö½ºÆ®¸®
____ÄÁÅ×À̳Ê
____Docker ½º¿ú
______Äí¹ö³×Ƽ½º ¼Ò°³
__À©µµ¿ì¿¡¼ Docker ½ÇÇàÇϱâ
____À©µµ¿ì¿ë Docker µ¥½ºÅ©Åé
____Docker ¿£Áø
____¾ÖÀú °¡»ó ÄÄÇ»ÅÍ ¾È¿¡¼ Docker ½ÇÇàÇϱâ
__ÀÌ Ã¥À¸·Î Docker ¹è¿ì±â
__¿ä¾à
2Àå. Docker·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé°í ½ÇÇàÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__À̹ÌÁö·ÎºÎÅÍ ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____ŽºÅ© ÄÁÅ×À̳ʿ¡¼ ÇÑ °¡Áö¸¸ ½ÇÇàÇϱâ
____´ëÈÇü ÄÁÅ×À̳ʿ¡ ¿¬°áÇϱâ
____¹é±×¶ó¿îµå ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ ÇÁ·Î¼¼½º¸¦ °è¼Ó ½ÇÇàÇϵµ·Ï À¯ÁöÇϱâ
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö ºôµåÇϱâ
____Dockerfile ÀÌÇØÇϱâ
____Dockerfile¿¡¼ À̹ÌÁö ºôµåÇϱâ
____Docker°¡ À̹ÌÁö¸¦ ¾î¶»°Ô ¸¸µå´ÂÁö È®ÀÎÇϱâ
__¾ÖÇø®ÄÉÀÌ¼Ç À̹ÌÁö ¸¸µé±â
____ºôµå µµÁß ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆÄÀÏÇϱâ
____ºôµå Àü¿¡ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆÄÀÏÇϱâ
____´Ù´Ü°è ºôµå·Î ÄÄÆÄÀÏÇϱâ
____ÁÖ¿ä Dockerfile Áö½Ã¾î »ç¿ëÇϱâ
____Àӽà ÄÁÅ×ÀÌ³Ê¿Í À̹ÌÁö »óÅ ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö¿Í ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ µ¥ÀÌÅÍ ´Ù·ç±â
____·¹ÀÌ¾î ¾ÈÀÇ µ¥ÀÌÅÍ¿Í °¡»ó C: µå¶óÀ̺ê
____ÄÁÅ×ÀÌ³Ê °£¿¡ º¼·ýÀ¸·Î µ¥ÀÌÅÍ °øÀ¯Çϱâ
____ÄÁÅ×ÀÌ³Ê¿Í È£½ºÆ® °£¿¡ º¼·ýÀ¸·Î µ¥ÀÌÅÍ °øÀ¯Çϱâ
______È£½ºÆ® µð·ºÅ͸®·ÎºÎÅÍ º¼·ý ¸¶¿îÆ®Çϱâ
____±¸¼º°ú »óÅ °ü¸®¸¦ À§ÇØ º¼·ý »ç¿ëÇϱâ
__±âÁ¸ ASP.NET À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____NerdDinner¸¦ À§ÇÑ Dockerfile ¸¸µé±â
__¿ä¾à
3Àå. ÄÁÅ×À̳ʷΠ.NET Framework ¹× .NET Core ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ
__Docker¿¡ ÃÖÀûÈµÈ ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
____ÀÎÅÍ³Ý Á¤º¸ ¼ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» Docker¿¡¼ ½ÇÇàÇϱâ
______IISÀÇ ·Î±× ¼³Á¤À» Docker¿¡ Ä£ÈÀûÀ¸·Î ¸¸µé±â
____¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º °ü¸®Çϱâ
______º¼·ý¿¡¼ ±¸¼º ÆÄÀÏ ¸¶¿îÆ®Çϱâ
______ȯ°æ º¯¼ö °¡Á®¿À±â
____¾ÖÇø®ÄÉÀÌ¼Ç »óŸ¦ ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé±â
__ÀÇÁ¸¼º ºÐ¸®Çϱâ
____SQL ¼¹ö µ¥ÀÌÅͺ£À̽º¸¦ À§ÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé±â
____SQL ¼¹ö ÄÁÅ×À̳ʸ¦ À§ÇÑ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ °ü¸®Çϱâ
______ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ µ¥ÀÌÅͺ£À̽º ½ÇÇàÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×À̳ʿ¡¼ µ¥ÀÌÅͺ£À̽º ÄÁÅ×À̳ʷΠ¿¬°áÇϱâ
__¸ð³î¸®½Ä ¾ÖÇø®ÄÉÀÌ¼Ç ³ª´©±â
____º¹ÀâÇÑ ±¸¼º ¿ä¼Ò¸¦ ¸ð³î¸®½º¿¡¼ ÃßÃâÇϱâ
____ASP.NET Core ¾ÖÇø®ÄÉÀ̼ǿ¡¼ UI ±¸¼º ¿ä¼Ò È£½ºÆÃÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê ¿¬°áÇϱâ
__¿ä¾à
4Àå. Docker ·¹Áö½ºÆ®¸®¿Í À̹ÌÁö °øÀ¯Çϱâ
__·¹Áö½ºÆ®¸®¿Í ¸®Æ÷ÁöÅ͸® ÀÌÇØÇϱâ
____À̹ÌÁö ¸®Æ÷ÁöÅ͸® À̸§ ÆľÇÇϱâ
____À̹ÌÁö¸¦ ºôµåÇÏ°í ű׸¦ ºÙÀÌ°í ¹öÀüÀ» °ü¸®ÇÏ´Â ¹æ¹ý
____·¹Áö½ºÆ®¸®·Î À̹ÌÁö Ǫ½ÃÇϱâ
__·ÎÄà À̹ÌÁö ·¹Áö½ºÆ®¸® ½ÇÇàÇϱâ
____·¹Áö½ºÆ®¸® À̹ÌÁö ºôµåÇϱâ
____·¹Áö½ºÆ®¸® ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____·ÎÄà ·¹Áö½ºÆ®¸®¿¡ À̹ÌÁö Ǫ½ÃÇÏ°í Ç®Çϱâ
__Docker·Î ¾ÈÀüÇÏÁö ¾ÊÀº ·¹Áö½ºÆ®¸® Á¢¼Ó Çã¿ëÇϱâ
____À©µµ¿ì À̹ÌÁö ·¹À̾ ·ÎÄà ·¹Áö½ºÆ®¸®¿¡ ÀúÀåÇϱâ
____»ó¿ë ·¹Áö½ºÆ®¸® »ç¿ëÇϱâ
__Docker Çãºê
____½Å·ÚÇÒ ¼ö ÀÖ´Â Docker ·¹Áö½ºÆ®¸®
____´Ù¸¥ ·¹Áö½ºÆ®¸®
____¿ä¾à
2ºÎ. ÄÁÅ×À̳ÊÈµÈ ¼Ö·ç¼Ç ¼³°èÇÏ°í ¸¸µé±â
5Àå. ÄÁÅ×ÀÌ³Ê Á᫐ ¼Ö·ç¼Ç ¼³°è äÅÃÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__NerdDinnerÀÇ ¼³°è ¸ñÇ¥ Á¤Çϱâ
____NerdDinner ±¸¼ºÀ» Docker¿¡ Ä£ÈÀûÀ¸·Î ¸¸µé±â
____¸¸Âù ÀÏÁ¤ ¿¹¾à ±â´É ³ª´©±â
____.NET ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼ÇÀ» Docker·Î Æ÷ÀåÇϱâ
__Docker¿¡¼ ¸Þ½ÃÁö Å¥ ½ÇÇàÇϱâ
__¿©·¯ ÄÁÅ×À̳ʷΠ±¸¼ºµÈ ¼Ö·ç¼Ç ½ÃÀÛÇϱâ
__·¹°Å½Ã ¾ÖÇø®ÄÉÀÌ¼Ç Çö´ëÈÇϱâ
____REST API¸¦ Ãß°¡ÇØ µ¥ÀÌÅÍ °ø°³Çϱâ
____ÄÁÅ×ÀÌ³Ê °£ HTTP ¿äûÀ» ¸®¹ö½º ÇÁ·Ï½Ã·Î ¶ó¿ìÆÃÇϱâ
______ÄÁÅ×À̳ÊÀÇ Æ®·¡ÇÈÀ» TraefikÀ¸·Î ÇÁ·Ï½ÃÈÇϱâ
__ÄÁÅ×À̳ʿ¡ »õ·Î¿î ±â´É Ãß°¡Çϱâ
____¿¤¶ó½ºÆ½ ¼Ä¡¸¦ Docker¿Í .NET°ú ÇÔ²² »ç¿ëÇϱâ
____.NET Framework¿Í .NET Core°¡ È¥ÇÕµÈ ¼Ö·ç¼ÇÀ» Docker¿¡¼ ºôµåÇϱâ
______º¹ÀâÇÑ NerdDinner ¼Ö·ç¼Ç ÄÄÆÄÀÏÇϱâ
______.NET Core ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Å°¹Ù³ª¿¡ ºÐ¼® ±â´É Ãß°¡Çϱâ
__¸ð³î¸®½Ä¿¡¼ ºÐ»ê ¼Ö·ç¼ÇÀ¸·Î À̵¿Çϱâ
____ºôµå¿Í ¹èÆ÷ ÀÇÁ¸¼º °ü¸®Çϱâ
__¿ä¾à
6Àå. Docker Compose¸¦ »ç¿ëÇÑ ºÐ»ê ¼Ö·ç¼Ç ±¸¼ºÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker Compose·Î ¾ÖÇø®ÄÉÀÌ¼Ç Á¤ÀÇÇϱâ
____¼ºñ½º Á¤ÀÇ ¸¸µé±â
____ÀÎÇÁ¶ó ¼ºñ½º Á¤ÀÇÇϱâ
______¿¤¶ó½ºÆ½ ¼Ä¡
______Traefik
______Å°¹Ù³ª
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ±¸¼ºÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¸®¼Ò½º ÁöÁ¤Çϱâ
__Docker Compose·Î ¾ÖÇø®ÄÉÀÌ¼Ç °ü¸®Çϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ½ºÄÉÀϸµÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ÁßÁöÇÏ°í ½ÃÀÛÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ¾÷±×·¹À̵åÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê ¸ð´ÏÅ͸µÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç À̹ÌÁö °ü¸®Çϱâ
__¾ÖÇø®ÄÉÀÌ¼Ç È¯°æ ±¸¼ºÇϱâ
____¿ÜºÎ ¸®¼Ò½º ÁöÁ¤Çϱâ
____Docker Compose ÀçÁ¤ÀÇ »ç¿ëÇϱâ
__¿ä¾à
7Àå. Docker ½º¿úÀ» »ç¿ëÇÑ ºÐ»ê ¼Ö·ç¼Ç ¿ÀÄɽºÆ®·¹À̼Ç
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__½º¿ú Ŭ·¯½ºÅÍ ¸¸µé°í ³ëµå °ü¸®Çϱâ
____½º¿ú Ŭ·¯½ºÅÍ ÃʱâÈÇϱâ
____¿öÄ¿ ³ëµå¸¦ ½º¿ú Ŭ·¯½ºÅÍ¿¡ Ãß°¡Çϱâ
____½º¿ú ³ëµåÀÇ ½Â°Ý°ú Á¦°Å
____Docker ½º¿úÀ» Ŭ¶ó¿ìµå¿¡¼ ½ÇÇàÇϱâ
______Docker ÀÎÁõ ÀÎÇÁ¶ó
__½º¿ú ¸ðµå ¾È¿¡¼ ¼ºñ½º ¸¸µé¾î °ü¸®Çϱâ
____¿©·¯ ÄÁÅ×À̳ʿ¡ °ÉÃÄ ¼ºñ½º ½ÇÇàÇϱâ
____±Û·Î¹ú ¼ºñ½º
____½º¿ú ¸ðµåÀÇ ·Îµå ¹ë·±½Ì°ú È®Àå
__Docker ½º¿ú¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º °ü¸®Çϱâ
____Docker ±¸¼º °³Ã¼·Î ±¸¼º ÀúÀåÇϱâ
____Docker ±¸¼º °³Ã¼¸¦ ½º¿ú ¼ºñ½º¿¡¼ »ç¿ëÇϱâ
____Docker ½ÃÅ©¸´À¸·Î ¹Î°¨ÇÑ µ¥ÀÌÅÍ ÀúÀåÇϱâ
__Docker ½º¿úÀ¸·Î ½ºÅà ¹èÆ÷Çϱâ
____Docker Compose ÆÄÀÏÀ» »ç¿ëÇØ ½ºÅà Á¤ÀÇÇϱâ
____½º¿ú ¸®¼Ò½º¸¦ Docker Compose ÆÄÀÏ¿¡ Á¤ÀÇÇϱâ
____½º¿ú ½ºÅÃÀ» Docker Compose ÆÄÀϷκÎÅÍ ¹èÆ÷Çϱâ
__¹«Áß´ÜÀ¸·Î ¾÷µ¥ÀÌÆ® ¹èÆ÷Çϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ¾÷µ¥ÀÌÆ®Çϱâ
____¼ºñ½º ¾÷µ¥ÀÌÆ® ·Ñ¹éÇϱâ
____¾÷µ¥ÀÌÆ® µ¿ÀÛ ±¸¼ºÇϱâ
____½º¿ú ³ëµå ¾÷µ¥ÀÌÆ®Çϱâ
____ÇÏÀ̺긮µå ½º¿ú¿¡¼ È£½ºÆ® È¥ÇÕÇϱâ
__¿ä¾à
3ºÎ. Docker ÇÁ·Î´ö¼Ç ȯ°æ ÁغñÇϱâ
8Àå. Docker ±â¹ÝÀÇ ¼Ö·ç¼Ç°ú DTRÀÇ °ü¸® ¹× ¸ð´ÏÅ͸µÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__À©µµ¿ì µµ±¸·Î ÄÁÅ×ÀÌ³Ê °ü¸®Çϱâ
____IIS °ü¸®ÀÚ
____SSMS
____À̺¥Æ® ·Î±×
____¼¹ö °ü¸®ÀÚ
__Docker µµ±¸·Î ÄÁÅ×ÀÌ³Ê °ü¸®Çϱâ
____Docker ½Ã°¢È µµ±¸
____Æ÷Å×À̳Ê
__Docker ¿£ÅÍÇÁ¶óÀÌÁî·Î CaaS ±â´É ÀÌ¿ëÇϱâ
____À¯´Ï¹ö¼³ Á¦¾î Ç÷¹ÀÎ ÀÌÇØÇϱâ
____UCP UI Ž»öÇϱâ
____³ëµå °ü¸®Çϱâ
____º¼·ý
____À̹ÌÁö
____³×Æ®¿öÅ©
____½ºÅà ¹èÆ÷Çϱâ
____¼ºñ½º ¸¸µé±â
____¼ºñ½º ¸ð´ÏÅ͸µÇϱâ
____RBAC
__¿ä¾à
9Àå. DockerÀÇ º¸¾È À§Çè ¹× ÀÌÁ¡ ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê º¸¾È ÀÌÇØÇϱâ
____ÄÁÅ×ÀÌ³Ê ÇÁ·Î¼¼½º
____ÄÁÅ×ÀÌ³Ê »ç¿ëÀÚ °èÁ¤°ú Á¢±Ù Á¦¾î ¸ñ·Ï
____¸®¼Ò½º Á¦¾à »çÇ×°ú ÇÔ²² ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____Á¦ÇÑµÈ ¿ë·®À¸·Î ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê¿Í ¾×Ƽºê µð·ºÅ͸®
____Hyper-V ÄÁÅ×ÀÌ³Ê °Ý¸®Çϱâ
__¾ÈÀüÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È °ÈÇϱâ
____ÃÖ¼ÒÇÑÀÇ À̹ÌÁö ¸¸µé±â
____ÄÁÅ×ÀÌ³Ê À̹ÌÁö Ãë¾àÁ¡ °Ë»çÇϱâ
____À©µµ¿ì ¾÷µ¥ÀÌÆ® °ü¸®Çϱâ
__DTR·Î ¼ÒÇÁÆ®¿þ¾î °ø±Þ¸Á º¸È£Çϱâ
____¸®Æ÷ÁöÅ͸®¿Í »ç¿ëÀÚ
____Á¶Á÷°ú ÆÀ
____DTRÀÇ À̹ÌÁö ÇÁ·Î¸ð¼Ç Á¤Ã¥
____À̹ÌÁö ¼¸í°ú ÄÜÅÙÃ÷ Æ®·¯½ºÆ®
____°ñµç À̹ÌÁö
__½º¿ú ¸ðµåÀÇ º¸¾È ÀÌÇØÇϱâ
____³ëµå¿Í Âü°¡ ÅäÅ«
____¾ÏÈ£È¿Í ½ÃÅ©¸´
____³ëµå ¶óº§°ú ¿ÜºÎ Á¢±Ù
____ÄÁÅ×ÀÌ³Ê º¸¾È ±â¼ú°ú ¿¬µ¿Çϱâ
__¿ä¾à
10Àå. Docker·Î Áö¼ÓÀû ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ ±¸ÃàÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker·Î CI/CD ¼³°èÇϱâ
__Docker¿¡¼ °øÀ¯ °³¹ß ¼ºñ½º ½ÇÇàÇϱâ
____Git ¼¹ö¸¦ À©µµ¿ì ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Docker¿¡¼ Gogs Git ¼¹ö ½ÇÇàÇϱâ
____CI ¼¹ö¸¦ À©µµ¿ì ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Docker¿¡¼ Á¨Å²½º ÀÚµ¿È ¼¹ö ½ÇÇàÇϱâ
____¸¸µé¾îÁø ÄÁÅ×À̳ʿ¡¼ À̹ÌÁö¿¡ ¹Ý¿µÇÒ º¯°æ »çÇ× ÃßÃâÇϱâ
__Docker¿¡¼ Á¨Å²½º¸¦ »ç¿ëÇØ CI/CD ±¸¼ºÇϱâ
____Á¨Å²½º ÀÚ°Ý Áõ¸í ¼³Á¤Çϱâ
____Á¨Å²½º CI ÀÛ¾÷ ±¸¼ºÇϱâ
____Á¨Å²½º¿¡¼ Docker¸¦ »ç¿ëÇØ ¼Ö·ç¼Ç ºôµåÇϱâ
____¼Ö·ç¼Ç ½ÇÇà ¹× È®ÀÎÇϱâ
____Docker¿¡¼ ¿£µå Åõ ¿£µå Å×½ºÆ® ½ÇÇàÇϱâ
____Á¨Å²½º¿¡¼ ÄÁÅ×ÀÌ³Ê À̹ÌÁö¿¡ ÅÂ±× ÁöÁ¤ÇÏ°í Ǫ½ÃÇϱâ
__Á¨Å²½º¸¦ »ç¿ëÇØ ¿ø°Ý Docker ½º¿ú¿¡ ¹èÆ÷Çϱâ
__¿ä¾à
4ºÎ. ÄÁÅ×À̳ʷΠ¶°³ª´Â ¿©Çà
11Àå. ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê µð¹ö±ë ¹× ¸ÞÆ®¸¯ º¸±â
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker¸¦ ÅëÇÕ °³¹ß ȯ°æ¿¡¼ ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý
____Visual Studio 2017ÀÇ Docker Áö¿ø
______Docker Compose·Î Visual Studio 2017¿¡¼ µð¹ö±ëÇϱâ
____Visual Studio 2015ÀÇ Docker Áö¿ø
____Visual Studio CodeÀÇ Docker Áö¿ø
__ÄÁÅ×À̳ʷΠ¸¸µç ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸ÞÆ®¸¯ º¸±â
____ÇÁ·Î¸ÞÅ׿콺¸¦ »ç¿ëÇÑ ¸ÞÆ®¸¯ È°¿ëÇϱâ
____.NET ¾ÖÇø®ÄÉÀÌ¼Ç ¸ÞÆ®¸¯À» ÇÁ·Î¸ÞÅ׿콺¿¡ °ø°³Çϱâ
____±âÁ¸ ¾ÖÇø®ÄÉÀ̼ǰú ÇÔ²² ÇÁ·Î¸ÞÅ׿콺 ³»º¸³»±â Ãß°¡Çϱâ
____À©µµ¿ì ÄÁÅ×À̳ʿ¡¼ ÇÁ·Î¸ÞÅ׿콺 ¼¹ö ½ÇÇàÇϱâ
____Grafana·Î ¾ÖÇø®ÄÉÀÌ¼Ç ´ë½Ãº¸µå ¸¸µé±â
__DockerÀÇ ¹ö±× ¼öÁ¤ ÀÛ¾÷ È帧
____Docker µµÀÔ ÀÌÀüÀÇ ¹ö±× ¼öÁ¤Çϱâ
____Docker µµÀÔ ÀÌÈÄÀÇ ¹ö±× ¼öÁ¤ ÀÛ¾÷ È帧
__¿ä¾à
12Àå. Àß ¾Æ´Â °ÍÀ» ÄÁÅ×À̳ÊÈÇϱâ - Docker ±¸ÇöÀ» À§ÇÑ Áöħ
__Àß ¾Æ´Â °ÍÀ» Docker·Î ¸¸µé±â
____°£´ÜÇÑ °³³ä Áõ¸í ¾ÖÇø®ÄÉÀÌ¼Ç ¼±ÅÃÇϱâ
____Image2Docker·Î Ãʱâ Dockerfile ¸¸µé±â
____´Ù¸¥ ÀÌÇØ°ü°èÀÚÀÇ Âü¿©
__Docker µµÀÔÀ» À§ÇÑ »ç·Ê ¿¬±¸
____»ç·Ê ¿¬±¸ 1 - »ç³» À¥ Æû ¾ÖÇø®ÄÉÀ̼Ç
____»ç·Ê ¿¬±¸ 2 - µ¥ÀÌÅͺ£À̽º ÅëÇÕ ¼ºñ½º
____»ç·Ê ¿¬±¸ 3 - ¾ÖÀú IoT ¾ÖÇø®ÄÉÀ̼Ç
__¿ä¾à
ºÎ·Ï. µ¶ÀÚ ¿©·¯ºÐÀ» À§ÇÑ °¡À̵å
ºÎ·Ï 1. ¿ø¼ Ãâ°£ ÀÌÈÄ ¹Ù²ï ³»¿ëÀÇ ¾÷µ¥ÀÌÆ®
__À©µµ¿ì ÄÁÅ×À̳ʿë SQL ¼¹ö °³¹ß Áß´Ü
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker ¿£ÅÍÇÁ¶óÀÌÁî ºÎ¹® ¸Å°¢¿¡ µû¸¥ Á¦Ç° ±¸¼º º¯È
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker ÇãºêÀÇ À̹ÌÁö ´Ù¿î·Îµå Àü¼Û·® Á¦ÇÑ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker µ¥½ºÅ©Åé(±¸ Docker Ä¿¹Â´ÏƼ ¿¡µð¼Ç) À¯·áÈ
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Äí¹ö³×Ƽ½º¿¡¼ Docker ·±Å¸ÀÓ Áö¿ø Á¦¿Ü
____¹è°æ
____¿µÇâ ¹üÀ§
____°í·ÁÇÒ »çÇ×
__¾Óº¸ÀÌ À©µµ¿ì ¹öÀü Á¤½Ä Ãâ½Ã
____¹è°æ
____ÇÔ²² º¸¸é ÁÁÀº ÀÚ·á
__À©µµ¿ì ¼¹ö 2022 Á¤½Ä Ãâ½Ã¿Í Ãâ½Ã ÁÖ±âÀÇ È¸±Í
____¹è°æ
____¿µÇâ ¹üÀ§
____°í·ÁÇÒ »çÇ×
__ÄÁÅ×ÀÌ³Ê º£À̽º À̹ÌÁö¿Í È£½ºÆ® OSÀÇ ¹öÀü ÀÏÄ¡ Á¦¾à ¿ÏÈ
____¹è°æ
____Å×½ºÆ® °á°ú
____Á¤¸®
ºÎ·Ï 2. À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¹ß ȯ°æ ±¸ÃàÇϱâ
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê ¼Ò°³
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¿ä
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö
__º£À̽º À̹ÌÁöÀÇ Á¾·ù
__ÄÁÅ×ÀÌ³Ê °Ý¸® ¹æ½Ä ÀÌÇØÇϱâ
__°Ý¸® ¹æ½ÄÀÇ Â÷ÀÌÁ¡
__¾Ë±â ½±°Ô Á¤¸®ÇÑ °Ý¸® ¹æ½Ä Àû¿ë Á¶°Ç
__½ÇÁ¦ »ç·Ê »ìÆ캸±â
__OS ¸±¸®½º ¹öÀü ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê ½ÇÇà ȯ°æÀÇ ¼±Åðú °ü¸®
____°³¹ß ȯ°æ°ú CI
____ÄÁÅ×ÀÌ³Ê ¿ÀÄɽºÆ®·¹À̼Ç
____À©µµ¿ì ÄÁÅ×À̳ÊÀÇ ¶óÀ̼±½º
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¹ß ȯ°æ Áغñ
__°¡»óÈ ¶Ç´Â Áßø °¡»óÈ Áö¿ø ¿©ºÎ È®ÀÎÇϱâ
__µ¥½ºÅ©Åé¿ë Docker ¼³Ä¡Çϱâ
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê È£½ºÆ®·Î ÀüȯÇϱâ
__À©µµ¿ì ¼¹ö¿¡¼ ÄÁÅ×ÀÌ³Ê È¯°æ ±¸ÃàÇϱâ
__±ÇÀå: ¼¹ö¿¡ SSH Á¢¼Ó È°¼ºÈÇϱâ
__¿ÀÇ SSH ¼¹ö ¼³Ä¡ÇÏ°í ±¸¼ºÇϱâ
__ºñ´ëĪ Å° ÀÎÁõ Àû¿ëÇϱâ
__\$HOME.sshauthorized_keys ÆÄÀÏ »ç¿ë¹ý
__administrators_authorized_keys »ç¿ë¹ý
__ÀÎÁõ Å° Á¤º¸¸¦ ´ãÀº ÆÄÀÏ ±ÇÇÑ ¼³Á¤Çϱâ
__SSH ±âº» ¼Ð º¯°æÇϱâ
__SSH ¼ºñ½º ½ÃÀÛÇϱâ
__¾ÈÀüÇÑ ÆÄÀÏ ¼Û¤ý¼ö½Å ±â´É »ç¿ëÇϱâ
__±ÇÀå: Ŭ¶óÀ̾ðÆ®¿¡¼ SSH Á¢¼Ó ÁغñÇϱâ
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê¿Í Docker ¿£ÅÍÇÁ¶óÀÌÁî ¿¡µð¼Ç È°¼ºÈÇϱâ
__ù À©µµ¿ì ÄÁÅ×ÀÌ³Ê ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
1Àå. À©µµ¿ì¿¡¼ Docker ½ÃÀÛÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker¿Í À©µµ¿ì ÄÁÅ×À̳Ê
____À©µµ¿ì ¹öÀü
____À©µµ¿ì ¶óÀ̼±½º Ãëµæ
__DockerÀÇ Áß¿ä °³³ä ÀÌÇØÇϱâ
____Docker ¿£Áø°ú Docker CLI
____ÄÁÅ×ÀÌ³Ê À̹ÌÁö
____À̹ÌÁö ·¹Áö½ºÆ®¸®
____ÄÁÅ×À̳Ê
____Docker ½º¿ú
______Äí¹ö³×Ƽ½º ¼Ò°³
__À©µµ¿ì¿¡¼ Docker ½ÇÇàÇϱâ
____À©µµ¿ì¿ë Docker µ¥½ºÅ©Åé
____Docker ¿£Áø
____¾ÖÀú °¡»ó ÄÄÇ»ÅÍ ¾È¿¡¼ Docker ½ÇÇàÇϱâ
__ÀÌ Ã¥À¸·Î Docker ¹è¿ì±â
__¿ä¾à
2Àå. Docker·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé°í ½ÇÇàÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__À̹ÌÁö·ÎºÎÅÍ ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____ŽºÅ© ÄÁÅ×À̳ʿ¡¼ ÇÑ °¡Áö¸¸ ½ÇÇàÇϱâ
____´ëÈÇü ÄÁÅ×À̳ʿ¡ ¿¬°áÇϱâ
____¹é±×¶ó¿îµå ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ ÇÁ·Î¼¼½º¸¦ °è¼Ó ½ÇÇàÇϵµ·Ï À¯ÁöÇϱâ
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö ºôµåÇϱâ
____Dockerfile ÀÌÇØÇϱâ
____Dockerfile¿¡¼ À̹ÌÁö ºôµåÇϱâ
____Docker°¡ À̹ÌÁö¸¦ ¾î¶»°Ô ¸¸µå´ÂÁö È®ÀÎÇϱâ
__¾ÖÇø®ÄÉÀÌ¼Ç À̹ÌÁö ¸¸µé±â
____ºôµå µµÁß ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆÄÀÏÇϱâ
____ºôµå Àü¿¡ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÄÆÄÀÏÇϱâ
____´Ù´Ü°è ºôµå·Î ÄÄÆÄÀÏÇϱâ
____ÁÖ¿ä Dockerfile Áö½Ã¾î »ç¿ëÇϱâ
____Àӽà ÄÁÅ×ÀÌ³Ê¿Í À̹ÌÁö »óÅ ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö¿Í ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ µ¥ÀÌÅÍ ´Ù·ç±â
____·¹ÀÌ¾î ¾ÈÀÇ µ¥ÀÌÅÍ¿Í °¡»ó C: µå¶óÀ̺ê
____ÄÁÅ×ÀÌ³Ê °£¿¡ º¼·ýÀ¸·Î µ¥ÀÌÅÍ °øÀ¯Çϱâ
____ÄÁÅ×ÀÌ³Ê¿Í È£½ºÆ® °£¿¡ º¼·ýÀ¸·Î µ¥ÀÌÅÍ °øÀ¯Çϱâ
______È£½ºÆ® µð·ºÅ͸®·ÎºÎÅÍ º¼·ý ¸¶¿îÆ®Çϱâ
____±¸¼º°ú »óÅ °ü¸®¸¦ À§ÇØ º¼·ý »ç¿ëÇϱâ
__±âÁ¸ ASP.NET À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____NerdDinner¸¦ À§ÇÑ Dockerfile ¸¸µé±â
__¿ä¾à
3Àå. ÄÁÅ×À̳ʷΠ.NET Framework ¹× .NET Core ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ
__Docker¿¡ ÃÖÀûÈµÈ ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
____ÀÎÅÍ³Ý Á¤º¸ ¼ºñ½º ¾ÖÇø®ÄÉÀ̼ÇÀ» Docker¿¡¼ ½ÇÇàÇϱâ
______IISÀÇ ·Î±× ¼³Á¤À» Docker¿¡ Ä£ÈÀûÀ¸·Î ¸¸µé±â
____¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º °ü¸®Çϱâ
______º¼·ý¿¡¼ ±¸¼º ÆÄÀÏ ¸¶¿îÆ®Çϱâ
______ȯ°æ º¯¼ö °¡Á®¿À±â
____¾ÖÇø®ÄÉÀÌ¼Ç »óŸ¦ ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé±â
__ÀÇÁ¸¼º ºÐ¸®Çϱâ
____SQL ¼¹ö µ¥ÀÌÅͺ£À̽º¸¦ À§ÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö ¸¸µé±â
____SQL ¼¹ö ÄÁÅ×À̳ʸ¦ À§ÇÑ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ °ü¸®Çϱâ
______ÄÁÅ×ÀÌ³Ê ¾È¿¡¼ µ¥ÀÌÅͺ£À̽º ½ÇÇàÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×À̳ʿ¡¼ µ¥ÀÌÅͺ£À̽º ÄÁÅ×À̳ʷΠ¿¬°áÇϱâ
__¸ð³î¸®½Ä ¾ÖÇø®ÄÉÀÌ¼Ç ³ª´©±â
____º¹ÀâÇÑ ±¸¼º ¿ä¼Ò¸¦ ¸ð³î¸®½º¿¡¼ ÃßÃâÇϱâ
____ASP.NET Core ¾ÖÇø®ÄÉÀ̼ǿ¡¼ UI ±¸¼º ¿ä¼Ò È£½ºÆÃÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê ¿¬°áÇϱâ
__¿ä¾à
4Àå. Docker ·¹Áö½ºÆ®¸®¿Í À̹ÌÁö °øÀ¯Çϱâ
__·¹Áö½ºÆ®¸®¿Í ¸®Æ÷ÁöÅ͸® ÀÌÇØÇϱâ
____À̹ÌÁö ¸®Æ÷ÁöÅ͸® À̸§ ÆľÇÇϱâ
____À̹ÌÁö¸¦ ºôµåÇÏ°í ű׸¦ ºÙÀÌ°í ¹öÀüÀ» °ü¸®ÇÏ´Â ¹æ¹ý
____·¹Áö½ºÆ®¸®·Î À̹ÌÁö Ǫ½ÃÇϱâ
__·ÎÄà À̹ÌÁö ·¹Áö½ºÆ®¸® ½ÇÇàÇϱâ
____·¹Áö½ºÆ®¸® À̹ÌÁö ºôµåÇϱâ
____·¹Áö½ºÆ®¸® ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____·ÎÄà ·¹Áö½ºÆ®¸®¿¡ À̹ÌÁö Ǫ½ÃÇÏ°í Ç®Çϱâ
__Docker·Î ¾ÈÀüÇÏÁö ¾ÊÀº ·¹Áö½ºÆ®¸® Á¢¼Ó Çã¿ëÇϱâ
____À©µµ¿ì À̹ÌÁö ·¹À̾ ·ÎÄà ·¹Áö½ºÆ®¸®¿¡ ÀúÀåÇϱâ
____»ó¿ë ·¹Áö½ºÆ®¸® »ç¿ëÇϱâ
__Docker Çãºê
____½Å·ÚÇÒ ¼ö ÀÖ´Â Docker ·¹Áö½ºÆ®¸®
____´Ù¸¥ ·¹Áö½ºÆ®¸®
____¿ä¾à
2ºÎ. ÄÁÅ×À̳ÊÈµÈ ¼Ö·ç¼Ç ¼³°èÇÏ°í ¸¸µé±â
5Àå. ÄÁÅ×ÀÌ³Ê Á᫐ ¼Ö·ç¼Ç ¼³°è äÅÃÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__NerdDinnerÀÇ ¼³°è ¸ñÇ¥ Á¤Çϱâ
____NerdDinner ±¸¼ºÀ» Docker¿¡ Ä£ÈÀûÀ¸·Î ¸¸µé±â
____¸¸Âù ÀÏÁ¤ ¿¹¾à ±â´É ³ª´©±â
____.NET ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼ÇÀ» Docker·Î Æ÷ÀåÇϱâ
__Docker¿¡¼ ¸Þ½ÃÁö Å¥ ½ÇÇàÇϱâ
__¿©·¯ ÄÁÅ×À̳ʷΠ±¸¼ºµÈ ¼Ö·ç¼Ç ½ÃÀÛÇϱâ
__·¹°Å½Ã ¾ÖÇø®ÄÉÀÌ¼Ç Çö´ëÈÇϱâ
____REST API¸¦ Ãß°¡ÇØ µ¥ÀÌÅÍ °ø°³Çϱâ
____ÄÁÅ×ÀÌ³Ê °£ HTTP ¿äûÀ» ¸®¹ö½º ÇÁ·Ï½Ã·Î ¶ó¿ìÆÃÇϱâ
______ÄÁÅ×À̳ÊÀÇ Æ®·¡ÇÈÀ» TraefikÀ¸·Î ÇÁ·Ï½ÃÈÇϱâ
__ÄÁÅ×À̳ʿ¡ »õ·Î¿î ±â´É Ãß°¡Çϱâ
____¿¤¶ó½ºÆ½ ¼Ä¡¸¦ Docker¿Í .NET°ú ÇÔ²² »ç¿ëÇϱâ
____.NET Framework¿Í .NET Core°¡ È¥ÇÕµÈ ¼Ö·ç¼ÇÀ» Docker¿¡¼ ºôµåÇϱâ
______º¹ÀâÇÑ NerdDinner ¼Ö·ç¼Ç ÄÄÆÄÀÏÇϱâ
______.NET Core ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Å°¹Ù³ª¿¡ ºÐ¼® ±â´É Ãß°¡Çϱâ
__¸ð³î¸®½Ä¿¡¼ ºÐ»ê ¼Ö·ç¼ÇÀ¸·Î À̵¿Çϱâ
____ºôµå¿Í ¹èÆ÷ ÀÇÁ¸¼º °ü¸®Çϱâ
__¿ä¾à
6Àå. Docker Compose¸¦ »ç¿ëÇÑ ºÐ»ê ¼Ö·ç¼Ç ±¸¼ºÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker Compose·Î ¾ÖÇø®ÄÉÀÌ¼Ç Á¤ÀÇÇϱâ
____¼ºñ½º Á¤ÀÇ ¸¸µé±â
____ÀÎÇÁ¶ó ¼ºñ½º Á¤ÀÇÇϱâ
______¿¤¶ó½ºÆ½ ¼Ä¡
______Traefik
______Å°¹Ù³ª
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ±¸¼ºÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¸®¼Ò½º ÁöÁ¤Çϱâ
__Docker Compose·Î ¾ÖÇø®ÄÉÀÌ¼Ç °ü¸®Çϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ½ºÄÉÀϸµÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ÁßÁöÇÏ°í ½ÃÀÛÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ¾÷±×·¹À̵åÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê ¸ð´ÏÅ͸µÇϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç À̹ÌÁö °ü¸®Çϱâ
__¾ÖÇø®ÄÉÀÌ¼Ç È¯°æ ±¸¼ºÇϱâ
____¿ÜºÎ ¸®¼Ò½º ÁöÁ¤Çϱâ
____Docker Compose ÀçÁ¤ÀÇ »ç¿ëÇϱâ
__¿ä¾à
7Àå. Docker ½º¿úÀ» »ç¿ëÇÑ ºÐ»ê ¼Ö·ç¼Ç ¿ÀÄɽºÆ®·¹À̼Ç
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__½º¿ú Ŭ·¯½ºÅÍ ¸¸µé°í ³ëµå °ü¸®Çϱâ
____½º¿ú Ŭ·¯½ºÅÍ ÃʱâÈÇϱâ
____¿öÄ¿ ³ëµå¸¦ ½º¿ú Ŭ·¯½ºÅÍ¿¡ Ãß°¡Çϱâ
____½º¿ú ³ëµåÀÇ ½Â°Ý°ú Á¦°Å
____Docker ½º¿úÀ» Ŭ¶ó¿ìµå¿¡¼ ½ÇÇàÇϱâ
______Docker ÀÎÁõ ÀÎÇÁ¶ó
__½º¿ú ¸ðµå ¾È¿¡¼ ¼ºñ½º ¸¸µé¾î °ü¸®Çϱâ
____¿©·¯ ÄÁÅ×À̳ʿ¡ °ÉÃÄ ¼ºñ½º ½ÇÇàÇϱâ
____±Û·Î¹ú ¼ºñ½º
____½º¿ú ¸ðµåÀÇ ·Îµå ¹ë·±½Ì°ú È®Àå
__Docker ½º¿ú¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º °ü¸®Çϱâ
____Docker ±¸¼º °³Ã¼·Î ±¸¼º ÀúÀåÇϱâ
____Docker ±¸¼º °³Ã¼¸¦ ½º¿ú ¼ºñ½º¿¡¼ »ç¿ëÇϱâ
____Docker ½ÃÅ©¸´À¸·Î ¹Î°¨ÇÑ µ¥ÀÌÅÍ ÀúÀåÇϱâ
__Docker ½º¿úÀ¸·Î ½ºÅà ¹èÆ÷Çϱâ
____Docker Compose ÆÄÀÏÀ» »ç¿ëÇØ ½ºÅà Á¤ÀÇÇϱâ
____½º¿ú ¸®¼Ò½º¸¦ Docker Compose ÆÄÀÏ¿¡ Á¤ÀÇÇϱâ
____½º¿ú ½ºÅÃÀ» Docker Compose ÆÄÀϷκÎÅÍ ¹èÆ÷Çϱâ
__¹«Áß´ÜÀ¸·Î ¾÷µ¥ÀÌÆ® ¹èÆ÷Çϱâ
____¾ÖÇø®ÄÉÀÌ¼Ç ¼ºñ½º ¾÷µ¥ÀÌÆ®Çϱâ
____¼ºñ½º ¾÷µ¥ÀÌÆ® ·Ñ¹éÇϱâ
____¾÷µ¥ÀÌÆ® µ¿ÀÛ ±¸¼ºÇϱâ
____½º¿ú ³ëµå ¾÷µ¥ÀÌÆ®Çϱâ
____ÇÏÀ̺긮µå ½º¿ú¿¡¼ È£½ºÆ® È¥ÇÕÇϱâ
__¿ä¾à
3ºÎ. Docker ÇÁ·Î´ö¼Ç ȯ°æ ÁغñÇϱâ
8Àå. Docker ±â¹ÝÀÇ ¼Ö·ç¼Ç°ú DTRÀÇ °ü¸® ¹× ¸ð´ÏÅ͸µÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__À©µµ¿ì µµ±¸·Î ÄÁÅ×ÀÌ³Ê °ü¸®Çϱâ
____IIS °ü¸®ÀÚ
____SSMS
____À̺¥Æ® ·Î±×
____¼¹ö °ü¸®ÀÚ
__Docker µµ±¸·Î ÄÁÅ×ÀÌ³Ê °ü¸®Çϱâ
____Docker ½Ã°¢È µµ±¸
____Æ÷Å×À̳Ê
__Docker ¿£ÅÍÇÁ¶óÀÌÁî·Î CaaS ±â´É ÀÌ¿ëÇϱâ
____À¯´Ï¹ö¼³ Á¦¾î Ç÷¹ÀÎ ÀÌÇØÇϱâ
____UCP UI Ž»öÇϱâ
____³ëµå °ü¸®Çϱâ
____º¼·ý
____À̹ÌÁö
____³×Æ®¿öÅ©
____½ºÅà ¹èÆ÷Çϱâ
____¼ºñ½º ¸¸µé±â
____¼ºñ½º ¸ð´ÏÅ͸µÇϱâ
____RBAC
__¿ä¾à
9Àå. DockerÀÇ º¸¾È À§Çè ¹× ÀÌÁ¡ ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê º¸¾È ÀÌÇØÇϱâ
____ÄÁÅ×ÀÌ³Ê ÇÁ·Î¼¼½º
____ÄÁÅ×ÀÌ³Ê »ç¿ëÀÚ °èÁ¤°ú Á¢±Ù Á¦¾î ¸ñ·Ï
____¸®¼Ò½º Á¦¾à »çÇ×°ú ÇÔ²² ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____Á¦ÇÑµÈ ¿ë·®À¸·Î ÄÁÅ×ÀÌ³Ê ½ÇÇàÇϱâ
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê¿Í ¾×Ƽºê µð·ºÅ͸®
____Hyper-V ÄÁÅ×ÀÌ³Ê °Ý¸®Çϱâ
__¾ÈÀüÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È °ÈÇϱâ
____ÃÖ¼ÒÇÑÀÇ À̹ÌÁö ¸¸µé±â
____ÄÁÅ×ÀÌ³Ê À̹ÌÁö Ãë¾àÁ¡ °Ë»çÇϱâ
____À©µµ¿ì ¾÷µ¥ÀÌÆ® °ü¸®Çϱâ
__DTR·Î ¼ÒÇÁÆ®¿þ¾î °ø±Þ¸Á º¸È£Çϱâ
____¸®Æ÷ÁöÅ͸®¿Í »ç¿ëÀÚ
____Á¶Á÷°ú ÆÀ
____DTRÀÇ À̹ÌÁö ÇÁ·Î¸ð¼Ç Á¤Ã¥
____À̹ÌÁö ¼¸í°ú ÄÜÅÙÃ÷ Æ®·¯½ºÆ®
____°ñµç À̹ÌÁö
__½º¿ú ¸ðµåÀÇ º¸¾È ÀÌÇØÇϱâ
____³ëµå¿Í Âü°¡ ÅäÅ«
____¾ÏÈ£È¿Í ½ÃÅ©¸´
____³ëµå ¶óº§°ú ¿ÜºÎ Á¢±Ù
____ÄÁÅ×ÀÌ³Ê º¸¾È ±â¼ú°ú ¿¬µ¿Çϱâ
__¿ä¾à
10Àå. Docker·Î Áö¼ÓÀû ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ ±¸ÃàÇϱâ
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker·Î CI/CD ¼³°èÇϱâ
__Docker¿¡¼ °øÀ¯ °³¹ß ¼ºñ½º ½ÇÇàÇϱâ
____Git ¼¹ö¸¦ À©µµ¿ì ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Docker¿¡¼ Gogs Git ¼¹ö ½ÇÇàÇϱâ
____CI ¼¹ö¸¦ À©µµ¿ì ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ¸¸µé±â
____Docker¿¡¼ Á¨Å²½º ÀÚµ¿È ¼¹ö ½ÇÇàÇϱâ
____¸¸µé¾îÁø ÄÁÅ×À̳ʿ¡¼ À̹ÌÁö¿¡ ¹Ý¿µÇÒ º¯°æ »çÇ× ÃßÃâÇϱâ
__Docker¿¡¼ Á¨Å²½º¸¦ »ç¿ëÇØ CI/CD ±¸¼ºÇϱâ
____Á¨Å²½º ÀÚ°Ý Áõ¸í ¼³Á¤Çϱâ
____Á¨Å²½º CI ÀÛ¾÷ ±¸¼ºÇϱâ
____Á¨Å²½º¿¡¼ Docker¸¦ »ç¿ëÇØ ¼Ö·ç¼Ç ºôµåÇϱâ
____¼Ö·ç¼Ç ½ÇÇà ¹× È®ÀÎÇϱâ
____Docker¿¡¼ ¿£µå Åõ ¿£µå Å×½ºÆ® ½ÇÇàÇϱâ
____Á¨Å²½º¿¡¼ ÄÁÅ×ÀÌ³Ê À̹ÌÁö¿¡ ÅÂ±× ÁöÁ¤ÇÏ°í Ǫ½ÃÇϱâ
__Á¨Å²½º¸¦ »ç¿ëÇØ ¿ø°Ý Docker ½º¿ú¿¡ ¹èÆ÷Çϱâ
__¿ä¾à
4ºÎ. ÄÁÅ×À̳ʷΠ¶°³ª´Â ¿©Çà
11Àå. ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×ÀÌ³Ê µð¹ö±ë ¹× ¸ÞÆ®¸¯ º¸±â
__½Ç½À¿¡ ÇÊ¿äÇÑ Áغñ
__Docker¸¦ ÅëÇÕ °³¹ß ȯ°æ¿¡¼ ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý
____Visual Studio 2017ÀÇ Docker Áö¿ø
______Docker Compose·Î Visual Studio 2017¿¡¼ µð¹ö±ëÇϱâ
____Visual Studio 2015ÀÇ Docker Áö¿ø
____Visual Studio CodeÀÇ Docker Áö¿ø
__ÄÁÅ×À̳ʷΠ¸¸µç ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸ÞÆ®¸¯ º¸±â
____ÇÁ·Î¸ÞÅ׿콺¸¦ »ç¿ëÇÑ ¸ÞÆ®¸¯ È°¿ëÇϱâ
____.NET ¾ÖÇø®ÄÉÀÌ¼Ç ¸ÞÆ®¸¯À» ÇÁ·Î¸ÞÅ׿콺¿¡ °ø°³Çϱâ
____±âÁ¸ ¾ÖÇø®ÄÉÀ̼ǰú ÇÔ²² ÇÁ·Î¸ÞÅ׿콺 ³»º¸³»±â Ãß°¡Çϱâ
____À©µµ¿ì ÄÁÅ×À̳ʿ¡¼ ÇÁ·Î¸ÞÅ׿콺 ¼¹ö ½ÇÇàÇϱâ
____Grafana·Î ¾ÖÇø®ÄÉÀÌ¼Ç ´ë½Ãº¸µå ¸¸µé±â
__DockerÀÇ ¹ö±× ¼öÁ¤ ÀÛ¾÷ È帧
____Docker µµÀÔ ÀÌÀüÀÇ ¹ö±× ¼öÁ¤Çϱâ
____Docker µµÀÔ ÀÌÈÄÀÇ ¹ö±× ¼öÁ¤ ÀÛ¾÷ È帧
__¿ä¾à
12Àå. Àß ¾Æ´Â °ÍÀ» ÄÁÅ×À̳ÊÈÇϱâ - Docker ±¸ÇöÀ» À§ÇÑ Áöħ
__Àß ¾Æ´Â °ÍÀ» Docker·Î ¸¸µé±â
____°£´ÜÇÑ °³³ä Áõ¸í ¾ÖÇø®ÄÉÀÌ¼Ç ¼±ÅÃÇϱâ
____Image2Docker·Î Ãʱâ Dockerfile ¸¸µé±â
____´Ù¸¥ ÀÌÇØ°ü°èÀÚÀÇ Âü¿©
__Docker µµÀÔÀ» À§ÇÑ »ç·Ê ¿¬±¸
____»ç·Ê ¿¬±¸ 1 - »ç³» À¥ Æû ¾ÖÇø®ÄÉÀ̼Ç
____»ç·Ê ¿¬±¸ 2 - µ¥ÀÌÅͺ£À̽º ÅëÇÕ ¼ºñ½º
____»ç·Ê ¿¬±¸ 3 - ¾ÖÀú IoT ¾ÖÇø®ÄÉÀ̼Ç
__¿ä¾à
ºÎ·Ï. µ¶ÀÚ ¿©·¯ºÐÀ» À§ÇÑ °¡À̵å
ºÎ·Ï 1. ¿ø¼ Ãâ°£ ÀÌÈÄ ¹Ù²ï ³»¿ëÀÇ ¾÷µ¥ÀÌÆ®
__À©µµ¿ì ÄÁÅ×À̳ʿë SQL ¼¹ö °³¹ß Áß´Ü
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker ¿£ÅÍÇÁ¶óÀÌÁî ºÎ¹® ¸Å°¢¿¡ µû¸¥ Á¦Ç° ±¸¼º º¯È
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker ÇãºêÀÇ À̹ÌÁö ´Ù¿î·Îµå Àü¼Û·® Á¦ÇÑ
____¿µÇâ ¹üÀ§
____´ë¾È
__Docker µ¥½ºÅ©Åé(±¸ Docker Ä¿¹Â´ÏƼ ¿¡µð¼Ç) À¯·áÈ
____¹è°æ
____¿µÇâ ¹üÀ§
____´ë¾È
__Äí¹ö³×Ƽ½º¿¡¼ Docker ·±Å¸ÀÓ Áö¿ø Á¦¿Ü
____¹è°æ
____¿µÇâ ¹üÀ§
____°í·ÁÇÒ »çÇ×
__¾Óº¸ÀÌ À©µµ¿ì ¹öÀü Á¤½Ä Ãâ½Ã
____¹è°æ
____ÇÔ²² º¸¸é ÁÁÀº ÀÚ·á
__À©µµ¿ì ¼¹ö 2022 Á¤½Ä Ãâ½Ã¿Í Ãâ½Ã ÁÖ±âÀÇ È¸±Í
____¹è°æ
____¿µÇâ ¹üÀ§
____°í·ÁÇÒ »çÇ×
__ÄÁÅ×ÀÌ³Ê º£À̽º À̹ÌÁö¿Í È£½ºÆ® OSÀÇ ¹öÀü ÀÏÄ¡ Á¦¾à ¿ÏÈ
____¹è°æ
____Å×½ºÆ® °á°ú
____Á¤¸®
ºÎ·Ï 2. À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¹ß ȯ°æ ±¸ÃàÇϱâ
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê ¼Ò°³
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¿ä
__ÄÁÅ×ÀÌ³Ê À̹ÌÁö
__º£À̽º À̹ÌÁöÀÇ Á¾·ù
__ÄÁÅ×ÀÌ³Ê °Ý¸® ¹æ½Ä ÀÌÇØÇϱâ
__°Ý¸® ¹æ½ÄÀÇ Â÷ÀÌÁ¡
__¾Ë±â ½±°Ô Á¤¸®ÇÑ °Ý¸® ¹æ½Ä Àû¿ë Á¶°Ç
__½ÇÁ¦ »ç·Ê »ìÆ캸±â
__OS ¸±¸®½º ¹öÀü ÀÌÇØÇϱâ
__ÄÁÅ×ÀÌ³Ê ½ÇÇà ȯ°æÀÇ ¼±Åðú °ü¸®
____°³¹ß ȯ°æ°ú CI
____ÄÁÅ×ÀÌ³Ê ¿ÀÄɽºÆ®·¹À̼Ç
____À©µµ¿ì ÄÁÅ×À̳ÊÀÇ ¶óÀ̼±½º
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê °³¹ß ȯ°æ Áغñ
__°¡»óÈ ¶Ç´Â Áßø °¡»óÈ Áö¿ø ¿©ºÎ È®ÀÎÇϱâ
__µ¥½ºÅ©Åé¿ë Docker ¼³Ä¡Çϱâ
____À©µµ¿ì ÄÁÅ×ÀÌ³Ê È£½ºÆ®·Î ÀüȯÇϱâ
__À©µµ¿ì ¼¹ö¿¡¼ ÄÁÅ×ÀÌ³Ê È¯°æ ±¸ÃàÇϱâ
__±ÇÀå: ¼¹ö¿¡ SSH Á¢¼Ó È°¼ºÈÇϱâ
__¿ÀÇ SSH ¼¹ö ¼³Ä¡ÇÏ°í ±¸¼ºÇϱâ
__ºñ´ëĪ Å° ÀÎÁõ Àû¿ëÇϱâ
__\$HOME.sshauthorized_keys ÆÄÀÏ »ç¿ë¹ý
__administrators_authorized_keys »ç¿ë¹ý
__ÀÎÁõ Å° Á¤º¸¸¦ ´ãÀº ÆÄÀÏ ±ÇÇÑ ¼³Á¤Çϱâ
__SSH ±âº» ¼Ð º¯°æÇϱâ
__SSH ¼ºñ½º ½ÃÀÛÇϱâ
__¾ÈÀüÇÑ ÆÄÀÏ ¼Û¤ý¼ö½Å ±â´É »ç¿ëÇϱâ
__±ÇÀå: Ŭ¶óÀ̾ðÆ®¿¡¼ SSH Á¢¼Ó ÁغñÇϱâ
__À©µµ¿ì ÄÁÅ×ÀÌ³Ê¿Í Docker ¿£ÅÍÇÁ¶óÀÌÁî ¿¡µð¼Ç È°¼ºÈÇϱâ
__ù À©µµ¿ì ÄÁÅ×ÀÌ³Ê ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â