๋ฐ˜์‘ํ˜•

Linux Docker ์ž‘์—…์ž ์„œ๋น„์Šค

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ASP.NET Core Worker Service๋ฅผ ๋นŒ๋“œํ•˜์—ฌ Windows ์šฉ Docker์—์„œ ์„œ๋น„์Šค๋ฅผ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” Linux Docker๋ฅผ ์œ„ํ•œ ์ž‘์—…์ž ์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ์ €์—๊ฒŒ ์‹œ๋†€๋กœ์ง€(Linux ๊ธฐ๋ฐ˜) ์„œ๋ฒ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์‹œ๋†€๋กœ์ง€ Docker์—์„œ Linux ์šฉ ์ž‘์—…์ž ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

[ASP.NET] C# Windows Docker ์šฉ ์ž‘์—…์ž ์„œ๋น„์Šค ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

 

[ASP.NET] C# Windows Docker ์šฉ ์ž‘์—…์ž ์„œ๋น„์Šค ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

Windows Docker ์ž‘์—…์ž ์„œ๋น„์Šค ASP.NET Core ๋Š” Windows, macOS ๋ฐ Linux์—์„œ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์•ฑ์„ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๋ฉด ์ œ๊ฐ€ ์›ํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฌผ

luckygg.tistory.com

์ž‘์—…์ž ์„œ๋น„์Šค ๋นŒ๋“œํ•˜๊ธฐ

์ž‘์—…์ž ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋Š” ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ง€๋‚œ๋ฒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด๋‚˜๋Š” ๋ถ€๋ถ„๋งŒ ๋”ฐ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๊ณผ์ •์€ ์œ„ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋”๋ณด๊ธฐ

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ Docker OS๋ฅผ Linux๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์ƒ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Docker OS ์„ ํƒ

๊ทธ๋ฆฌ๊ณ  Dockerfile ๋‚ด์šฉ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
 
COPY . /app
WORKDIR /app

#ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์˜ˆ์‹œ๋กœ 8888
ENV ASPNETCORE_URLS http://*:8888
EXPOSE 8888

#ExamWorkerService๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„
ENTRYPOINT ["dotnet", "ExamWorkerService.dll"]

์ด๋Œ€๋กœ ๊ฒŒ์‹œํ•œ ํ›„ ๋นŒ๋“œ ๊ด€๋ จ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ํด๋”์— Dockerfile์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ ๋„ฃ์Šต๋‹ˆ๋‹ค.

๊ฒŒ์‹œ ํด๋”์— Dockerfile ๋ณต์‚ฌํ•˜๊ธฐ

์‹œ๋†€๋กœ์ง€ Docker์— ์ž‘์—…์ž ์„œ๋น„์Šค ์„ค์น˜ํ•˜๊ธฐ

Linux ๊ธฐ๋ฐ˜์ธ ์‹œ๋†€๋กœ์ง€ Docker์— ์ž‘์—…์ž ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋”๋ณด๊ธฐ

์‹œ๋†€๋กœ์ง€ DSM์— ์ ‘์†ํ•˜๊ณ  ํŒŒ์ผ ์Šคํ…Œ์ด์…˜(File Station)์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

File Station ์‹คํ–‰

๊ทธ๋ฆฌ๊ณ  docker ํด๋”์— ํ•˜์œ„ ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด์ „ ๊ณผ์ •์—์„œ ๋นŒ๋“œํ•œ ํŒŒ์ผ์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ์‚ฌ์ง„์˜ ํด๋” ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ธด ํ•˜์ง€๋งŒ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

๊ฒŒ์‹œํ•œ ํŒŒ์ผ ๋ณต์‚ฌํ•˜๊ธฐ

ํŒŒ์ผ์„ ๋‹ค ์˜ฎ๊ฒผ์œผ๋ฉด PuTTY๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. PuTTY๋กœ ์‹œ๋†€๋กœ์ง€ ์ ‘์† ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅธ๋‹ค๋ฉด ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

[Synology NAS] ํ‘ธํ‹ฐ(PuTTY)๋กœ ์‹œ๋†€๋กœ์ง€ ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

[Synology NAS] ํ‘ธํ‹ฐ(PuTTY)๋กœ ์‹œ๋†€๋กœ์ง€ ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

Synology NAS์™€ PuTTY ์‚ฌ์šฉ ์‹œ๋†€๋กœ์ง€ ๋‚˜์Šค๋ฅผ ํ‰๋ฒ”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ‘ธํ‹ฐ(PuTTY) ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋ชฐ๋ผ๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €์ฒ˜๋Ÿผ ๋ ˆ๋“œ๋งˆ์ธ์„ ์‚ฌ์šฉํ•œ๋‹ค๋“ ๊ฐ€, DSM Root ๊ถŒํ•œ์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ญ”๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด PuTTY

luckygg.tistory.com

์ €์˜ ๊ฒฝ์šฐ ๋„์ปค๋ฅผ ๋ณผ๋ฅจ 1์— ์„ค์น˜ํ–ˆ๊ณ  notifyredmine ์ด๋ฆ„์˜ ํด๋”์— ํŒŒ์ผ์„ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

cd /volume1/docker/notifyredmine

์ด์ œ ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์˜ notifyredmine์€ ์„œ๋น„์Šค ์ด๋ฆ„์ด๋ฏ€๋กœ, ์ง“๊ณ  ์‹ถ์€ ๋Œ€๋กœ ์ง€์–ด๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

docker build -t notifyredmine .

๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ ์ •์ƒ์ ์œผ๋กœ ๋นŒ๋“œ๊ฐ€ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ชจ์Šต์ด ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.

์ •์ƒ์ ์œผ๋กœ ๋นŒ๋“œ๋œ ๋ชจ์Šต

์ด์ œ ์‹œ๋†€๋กœ์ง€ DSM์—์„œ Docker๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ด๋ฏธ์ง€ ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฐฉ๊ธˆ ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€๊ฐ€ ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋„์ปค ์ด๋ฏธ์ง€ ๋ชฉ๋ก

์ด๋ฏธ์ง€ ์„ ํƒ ํ›„ ์ƒ๋‹จ์˜ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์˜ ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์Œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ™”๋ฉด1

์•„๋ž˜์˜ ํ™”๋ฉด์ด ํ‘œ์‹œ๋˜๋ฉด ์ ์šฉ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ํ™”๋ฉด2

์ขŒ์ธก ๋ฉ”๋‰ด ์ค‘ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„ ํƒํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก์ด ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™”๋ฉด

์ •๋ฆฌ

์ด๋ฒˆ์—๋„ ์ž˜ ๋”ฐ๋ผ ํ•˜์…จ๋‚˜์š”? ์ด๋ฒˆ ์ž‘์—…์€ ์ง€๋‚œ ํฌ์ŠคํŒ…์ธ Windows Docker ์ž‘์—…์ž ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ํฐ ์ฐจ์ด๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘์—…์ž ์„œ๋น„์Šค๋ฅผ ์ž˜๋ชป ๋นŒ๋“œํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ณ„์†ํ•ด์„œ ์ฃฝ๋Š” ๊ฒฝํ—˜์„ ๊ฒช๊ฒŒ ๋  ๊ฑด๋ฐ์š”. ๋ณธ๋ฌธ ๋‚ด์šฉ์„ ์ž˜ ๋”ฐ๋ผ ํ•˜์‹ ๋‹ค๋ฉด ํฐ ์‚ฝ์งˆ ์—†์ด ์›ํ•˜๋Š” ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•