[ASP.NET] ์๋๋ก์ง ๋์ปค(Docker)์์ ์ ๋ ๋์(Selenium) ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
๋์ปค(Docker) ์ ๋ ๋์(Selenium) ์๋น์ค
ํ์ฌ ๊ทผ๋ฌดํ๊ณ ์๋ ํ์ฌ์๋ ์ ์ ๊ฒฐ์ฌ๋ฅผ ์ํ ์ด์นด์ดํธ ERP๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด ์๋น์ค๋ ์ค์๊ฐ์ผ๋ก ์๋ฃ ์ ๋ ฅ๊ณผ ์กฐํ๊ฐ ๊ฐ๋ฅํ๊ณ , ์ ์ ๋ฌธ์ ๊ฒฐ์ฌ ์งํ ์ํฉ์ ํ์ธํ ์ ์์ฃ . ๊ฒ๋ค๊ฐ ๋ชจ๋ฐ์ผ ์ฑ๊ณผ ์น ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ด ์ธํฐ๋ท๋ง ๋๋ค๋ฉด ์ธ์ ์ด๋์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ํ, ๊ฐ๋ฐ์๋ฅผ ์ํ REST API๋ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ํ ๊ฐ์ง ์์ฃผ ์์ฌ์ด ๋ถ๋ถ์ด ์์ต๋๋ค. ์ ๋ฌด ํน์ฑ์ ํน์ ๊ฒฐ๊ณผ๋ฅผ ์ค์๊ฐ์ผ๋ก ์๋ ๋ฐ๊ณ ์ถ์๋ฐ, ํํ ์ด ๋ถ๋ถ๋ง API๋ก ์ ๊ณตํ์ง ์๋๊ตฐ์. ๊ณ ๊ฐ์ผํฐ์๋ ๋ฌธ์ํด๋ดค์ง๋ง API๊ฐ ์๋ ๊ฒ์ด ๋ง๊ณ , ์์ง ๊ฐ๋ฐ ๊ณํ๋ ์๋ค๊ณ ํ๋๊ตฐ์.
ํ์ง๋ง ๋ฐฉ๋ฒ์ด ์์ฃผ ์์ง๋ ์์์ต๋๋ค. ์ ๊ฐ ์๊ฐํ ๊ตฌ์์ ์๋๋ก์ง ์๋ฒ์ ๋์ปค์์ ERP ์น ํ์ด์ง์ ํน์ ํญ๋ชฉ์ ์ ๋ ๋์์ผ๋ก ํ์ธํ๋ ๊ฒ์ธ๋ฐ์. ๋น์ฐํ ๋ ๊ฑฐ๋ผ ์๊ฐํ๊ณ , ๊ฒฐ๊ตญ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค. ์ด๋ฒ ๋ณธ๋ฌธ์์๋ ๋์ปค์์ ์ ๋ ๋์ ์๋น์ค๋ฅผ ๋์ํ๊ธฐ ์ํ ์ค๋น ๊ณผ์ ๊ณผ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์์ ๊ตฌ์
์ ๋ ๋์์ผ๋ก ํน์ ์น์ฌ์ดํธ์ ์ ์ํ ํ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ทจ๋ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์กฐ๊ฑด์ด ์ฑ๋ฆฝํ๋ฉด ์๋๋ก์ง ์ฑ(Chat)์ ์ฑ๋ด์ผ๋ก ๋ฉ์์ง๋ฅผ ์ ์กํ์ฌ ์๋ฆผ์ ๋ฐ๋๋ก ํฉ๋๋ค. ์ด ๋์์ ๋์ปค ์๋น์ค๋ก ์ ์ํฉ๋๋ค.

์ค๋น ๋จ๊ณ
1. ์ ๋ ๋์(Selenium) ์ตํ๊ธฐ
์ ๋ ๋์์ ์น ๋ธ๋ผ์ฐ์ ์๋ํ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ณธ๋ฌธ์์๋ ํน์ ์น ํ์ด์ง์์ ํน์ ๋ฐ์ดํฐ๋ค์ ํ์ธํ๋ ์์ ์ ์ํํ ์์ ์ ๋๋ค. ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ ๋์์ ์ด๋ป๊ฒ ์ฌ์ฉํด์ผ ํ๋์ง ์์๋ณด์ธ์.
[์ ๋ ๋์/Selenium, C#] C#์์ ์ ๋ ๋์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ด์ ๋ฆฌ
[์ ๋ ๋์/Selenium, C#] C#์์ ์ ๋ ๋์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ด์ ๋ฆฌ
์ ๋ ๋์(Selenium)์ด๋? ์ ๋ ๋์์ ์น ๋ธ๋ผ์ฐ์ ์๋ํ๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋์ ๋ณด์ด๋ ๋ชจ๋ ์ฝํ ์ธ ์ ์ ๋ ฅ, ํด๋ฆญ, ๊ฐ์ ธ์ค๊ธฐ ๋ฑ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ๋จํ ์น ์ฌ์ดํธ ์ ์๋ถํฐ ๋ก๊ทธ์ธ, ๊ฒ์,
luckygg.tistory.com
2. ์ฑ๋ด ์ฐ๋ํ๊ธฐ
์๋๋ก์ง๋ ์ฑ(Chat)์ด๋ผ๋ ๋ฉ์ ์ ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ๋ ๋์์ผ๋ก ์ป์ ๋ฐ์ดํฐ๋ฅผ ์ฑ์ ์ฑ๋ด๊ณผ ์ฐ๋ํ์ฌ ์๋ฆผ์ ๋ฐ์ ๊ฒ๋๋ค. ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฑ๋ด์ ์ด๋ป๊ฒ ์ฐ๋ํ๋์ง ์ฐธ๊ณ ํ์ธ์.
[์ฑ๋ด/.NET] C#์์ ์๋๋ก์ง Chat์ ์ฑ๋ด ๋ฉ์์ง ๋ณด๋ด๊ธฐ(์์ ํฌํจ)
[์ฑ๋ด/.NET] C#์์ ์๋๋ก์ง Chat์ ์ฑ๋ด ๋ฉ์์ง ๋ณด๋ด๊ธฐ(์์ ํฌํจ)
์๋๋ก์ง Chat ๋ฉ์ ์ ์๋๋ก์ง์๋ Chat์ด๋ผ๋ ๋ฉ์ ์ ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด๋ ํจํค์ง ์ผํฐ์์ ์ค์น๊ฐ ๊ฐ๋ฅํ๋ฐ์. ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅ ๋ฉ์์ง ๊ณ ์ (๊ณต์ง ์ฌํญ),
luckygg.tistory.com
3. ๋ฆฌ๋ ์ค(Linux) ์์ ์ ์๋น์ค ๋ง๋ค๊ธฐ
์๋๋ก์ง ๋์ปค์์ ์๋น์ค๋ฅผ ๊ตฌ๋ํ๋ ค๋ฉด, ๋ฆฌ๋ ์ค ๋์ปค์ฉ ์์ ์ ์๋น์ค๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
Linux Docker ์์ ์ ์๋น์ค ์ง๋ ํฌ์คํ ์์ ASP.NET Core Worker Service๋ฅผ ๋น๋ํ์ฌ Windows ์ฉ Docker์์ ์๋น์ค๋ฅผ ๋์ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ์์ต๋๋ค. ์ด๋ฒ์๋ Linux Docker๋ฅผ ์ํ ์์ ์ ์๋น์ค๋ฅผ ์ ์ํ๋ ค.
luckygg.tistory.com
4. ์๋๋ก์ง ์์ ์ค์ผ์ค๋ฌ ์ ์ฉํ๊ธฐ
์ด์ํ๊ฒ๋ Linux Docker์์ ์ ๋ ๋์์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์(Memeory leak)๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์ํ ์ ์ ๊ฐ์ฒด๋ฅผ ํ ๋ฒ๋ง ์์ฑํ๊ณ ์ฌ์ดํธ๋ก ์ด๋ํ๋ ํจ์๋ง ํธ์ถํ๋๋ฐ๋ ๋์๊ฐ ๋ฐ์ํฉ๋๋ค. ๋๋์ฒด ์ ์๊ธฐ๋์ง ์ด์ ๋ฅผ ์์ง๋ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ์ด๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง๋ฉด ์๋๋ก์ง ๋์ค๊ฐ ์ด๋ ์๊ฐ ์๋ต์ด ์๋ ์ํ๊ฐ ๋ฉ๋๋ค.
๊ทธ๋์ ์ ๋ฌด ์๊ฐ์๋ง ์๋น์ค๊ฐ ๋์ํ๊ณ ๋ฉ์ถ๋๋ก ์ค์ผ์ค๋ฌ๋ฅผ ์ ์ฉํ์ฌ, ์๋น์ค๊ฐ ์ข ๋ฃ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณตํ ์ ์๋๋ก ํธ๋ฒ์ ์ ์ฉํ์ต๋๋ค. ์๋๋ก์ง ์์ ์ค์ผ์ค๋ฌ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
[Synology NAS] ์์ ์ค์ผ์ค๋ฌ๋ก ์์ ์์ฝํ๊ธฐ(์ฌ์ฉ์ ์ ์ ์คํฌ๋ฆฝํธ)
[Synology NAS] ์์ ์ค์ผ์ค๋ฌ๋ก ์์ ์์ฝํ๊ธฐ(์ฌ์ฉ์ ์ ์ ์คํฌ๋ฆฝํธ)
์์ ์ค์ผ์ค๋ฌ๋? ์๋๋ก์ง ๋์ค์ ์ ์ดํ์๋ ์์ ์ค์ผ์ค๋ฌ ๋ฉ๋ด๊ฐ ์์ต๋๋ค. ์ด ์์ ์ค์ผ์ค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์๊ฐ์ ํน์ ์๋น์ค๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฝํ๊ณ ์คํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด,
luckygg.tistory.com
ํต์ฌ
Linux ์์ ์ ์๋น์ค๋ฅผ ๋ง๋๋ ์ ๋ฐ์ ์ธ ๊ณผ์ ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
Linux Docker ์์ ์ ์๋น์ค ์ง๋ ํฌ์คํ ์์ ASP.NET Core Worker Service๋ฅผ ๋น๋ํ์ฌ Windows ์ฉ Docker์์ ์๋น์ค๋ฅผ ๋์ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ์์ต๋๋ค. ์ด๋ฒ์๋ Linux Docker๋ฅผ ์ํ ์์ ์ ์๋น์ค๋ฅผ ์ ์ํ๋ ค.
luckygg.tistory.com
๋์ปค ์์ ์ ์๋น์ค์์ ์ ๋ ๋์์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ต์ ์ค์ ์ด ํ์ํฉ๋๋ค. ๊ทธ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋์ผํฉ๋๋ค.
ChromeDriverService _driverService = ChromeDriverService.CreateDefaultService(); _driverService.HideCommandPromptWindow = true; ChromeOptions _options = new ChromeOptions(); _options.AddArgument("disable-gpu"); _options.AddArgument("headless"); _options.AddArgument("no-sandbox"); _options.AddArgument("disable-dev-shm-usage"); ChromeDriver _driver = new ChromeDriver(_driverService, _options);
์๋น์ค ๋น๋๋ฅผ ์ํ Dockerfile์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค. ๋์ปค์์ ๊ตฌ์ฑ ์์๋ฅผ ์ค์นํ๊ณ , ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํ๋ ๊ณผ์ ์ ์๋ฏธํฉ๋๋ค.
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base COPY . /app WORKDIR /app #ํฌํธ ๋ฒํธ๋ ์์๋ก 8888 ENV ASPNETCORE_URLS http://*:8888 EXPOSE 8888 # RUN apt-get update RUN apt-get update && apt-get install -y gnupg2 RUN apt install -y wget # CHROME RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/goodle.list' RUN apt-get update RUN apt-get install -y google-chrome-stable # CHROME_DRIVER RUN apt-get install -yqq unzip RUN apt-get install -y curl RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/ ENV DISPLAY=:99 #ExamWorkerService๋ ํ๋ก์ ํธ ์ด๋ฆ ENTRYPOINT ["dotnet", "WorkerService.dll"]
์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ, ๋์ปค ์๋น์ค์์ ์ ๋ ๋์์ ๋์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํฉ๋๋ค. ์์ ์ ์ค์ผ์ค๋ฌ์ ์ฌ์ฉ์ ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํ์ฌ ํน์ ์๊ฐ ๋์๋ง ๋์ํ๊ณ ์ข ๋ฃ๋๋๋ก ์ค์ ํฉ๋๋ค.
docker container start [์ปจํ
์ด๋ ์ด๋ฆ] docker container stop [์ปจํ
์ด๋ ์ด๋ฆ]
๋์ ๊ฒฐ๊ณผ
์ ๋ ๋์์ผ๋ก ์ป์ ๋ฐ์ดํฐ ์ค ์๋ฆผ์ด ํ์ํ ์ ๋ณด๋ฅผ ํ์ฑํ์ฌ ์ฑ๋ด์ผ๋ก ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ฉด, ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ์ฑ๋ด ๋ฉ์์ง๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด ๋ฉ์์ง๊ฐ PC๋ ์ค๋งํธํฐ์ ์๋ฆผ์ด ๋์ด ์ค์๊ฐ์ผ๋ก ์ ๋ฌด ํ์ธ์ด ๊ฐ๋ฅํ๊ฒ ๋์ต๋๋ค.

'Programming > .Net' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[.Net] ์ด๋ฏธ์ง ๋ทฐ์ด๋ ImageGlass๋ก ์ฝ๊ฒ ๊ฐ๋ฐํ๊ธฐ
[.Net] ์ด๋ฏธ์ง ๋ทฐ์ด๋ ImageGlass๋ก ์ฝ๊ฒ ๊ฐ๋ฐํ๊ธฐ
2022.08.13 -
[.Net] ๋คํธ์ํฌ ์ด๋ํฐ IP์ฃผ์์ ๊ณ ๊ธ ์์ฑ ๋ณ๊ฒฝํ๊ธฐ(์์ ํฌํจ)
[.Net] ๋คํธ์ํฌ ์ด๋ํฐ IP์ฃผ์์ ๊ณ ๊ธ ์์ฑ ๋ณ๊ฒฝํ๊ธฐ(์์ ํฌํจ)
2022.07.16 -
[ASP.NET] Core Worker Service๋ก ๋ ๋๋ง์ธ ์ผ๊ฐ์ ์๋๋ก์ง ์ฑ ๋ฉ์์ง๋ก ์๋ฆผ ๋ณด๋ด๊ธฐ
[ASP.NET] Core Worker Service๋ก ๋ ๋๋ง์ธ ์ผ๊ฐ์ ์๋๋ก์ง ์ฑ ๋ฉ์์ง๋ก ์๋ฆผ ๋ณด๋ด๊ธฐ
2022.03.04 -
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
[ASP.NET] C# ์๋๋ก์ง Linux Docker ์ฉ ์์ ์ ์๋น์ค ๋ง๋๋ ๋ฐฉ๋ฒ
2022.02.28
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.