๐ณ Docker study 1st
Why Docker Matters for Autonomous Driving?
by Arielle
์ด๋ฒ ํฌ์คํ ๋ถํฐ 7์ฃผ ๋์ ์์จ์ฃผํ ๊ฐ๋ฐ์๋ฅผ ๋ชฉํ๋ก ํ๋ ํ์๋ค๊ณผ ํจ๊ป Docker์ ๋ํด ๊ณต๋ถํ๊ณ ๋ธ๋ก๊ทธ๋ก ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค. ์ฌ์ค Docker์ ๋ํด์๋ ์ปดํจํฐ๋ฅผ ์ ๊ณตํ๋ฉด์๋ถํฐ ์ฌ๊ธฐ์ ๊ธฐ์ ๋ง์ด ๋ค์๋ ์ด๋ฆ์ด๋ค. ๊ณ ๋๊ฐ ์ปจํ ์ด๋ ๋ฐ์ค๋ฅผ ๋ฑ์ ์๊ณ ์๋ ์ฌ์ง ์๋ง Docker ์ด๋ฆ์ ๋ค์ด๋ณธ ์ฌ๋์ด๋ผ๋ฉด ๋ฌด์จ ๊ทธ๋ฆผ์ธ์ง ์ฝ๊ฒ ๋ ์ฌ๋ฆด ์ ์์ ๊ฒ ๊ฐ๋ค. ์ค์ ๋ก ๋จผ์ ํ์ ์ ๋๊ฐ ์ ๋ฐฐ๋ค์ ๋ง์ ๋ค์ด๋ณด๋ฉด Docker ์ ์ฐฌ๊ฐ๋ ์์ด์ ๋ฐฐ์๋๋ฉฐ ๊ฝค ์ ์ฉํ ํด์ธ๊ฑด ํ์คํ๋ค. ํ์ง๋ง ํ์ ์ ์ธ์์ ๋ชจ๋ฅด๋ ๋์๊ฒ ์ฌ์ ํ Docker๋ ๊ทธ์ ๊ณ ๋์ผ ๋ฟ์ด๋ค. ์๋ฌดํผ ์ด๋ฒ ์ข์ ๊ธฐํ๋ก Docker์ ๋ํด ๊ณต๋ถํด๋ณด๊ธฐ๋ก ํ์ผ๋, ์ผ๋จ ์์ํด๋ณด๋ ค๊ณ ํ๋ค.
์์ผ๋ก์ ํฌ์คํ ์ <Inflearn ์ค์ ๋์ปค: ๋์ปค๋ก ๋๋ง์ ๋ฅ๋ฌ๋ ํด๋ผ์ฐ๋ ์ปดํจํฐ ๋ง๋ค๊ธฐ>๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ์งํํด๋ณด๋ ค๊ณ ํ๋ค. ์ค๋์ ์ฒซ๋ฒ์งธ ํฌ์คํ ์์๋ ๋์ปค๊ฐ ์ ์์จ์ฃผํ ๊ฐ๋ฐ์๋ฅผ ๋ชฉํ๋ก ํ๋ ๋์๊ฒ ํ์ํ์ง, ๋์ปค๊ฐ ๋์ฒด ์ ํํ ๋ญํ๋ ๊ฑด์ง, ๊ทธ๋ฆฌ๊ณ ์์ผ๋ก ์์ฃผ ์ธ ๊ธฐ๋ณธ ๋ช ๋ น์ด์ ๋ํด ๊ฐ๋จํ ์ด์ผ๊ธฐ ํด๋ณด๊ณ ์ ํ๋ค.
1. Docker might be essential if you want to work as an autonomous driving developer in the future!
#AI ๊ฐ๋ฐ ๋ฐ ์ปจํ ์ด๋ํ ํธ๋๋ #์๋ ๋ ์ด๋ธ๋ง ํ์ดํ๋ผ์ธ #ํ์ฅ์ฑ
โํธ๋๋โ๋ผ๋ ๋จ์ด๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ถ์ผ๋ ์ด๋์ผ๊น? ์ผ๋จ ๋๋ ํจ์ ์ฐ์ ์ด ๊ฐ์ฅ ๋จผ์ ์๊ฐ์ด ๋ ๋ค. ๊ทธ๋ฐ๋ฐ ํจ์ ์ฐ์ ๋งํผ ํธ๋๋์ ๋ฏผ๊ฐํ ๋ถ์ผ๊ฐ ๋ ์๋ค. ๊ทธ๊ฑด ๋ฐ๋ก IT๋ค.
์ง๋ ๋ช์ญ๋ ๊ฐ IT๋ถ์ผ ๋งํผ ๋น ๋ฅด๊ฒ ๋ณํํ๋ ์์ฅ์ ์ฐพ๊ธฐ ์ด๋ ต๋ค. ๋ด๊ฐ ๊ฐ๊ณ ์ถ์ดํ๋ ์๋์ฐจ ์ฐ์ ์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ด์ ์๋์ฐจ๋ ๋จ์ํ ๊ทธ๋ฅ ๋ค๋ฐํด ๋ฌ๋ฆฐ ๊ณ ์ฒ ์ด ์๋์ง ์ค๋๋ค. ์์จ์ฃผํ ์ํํธ์จ์ด ์ ๋ฌธ ์คํํธ์ ๊ณ ์คํธ ์คํ ๋ ธ๋ฏธ(Ghost Autonomy)๊ฐ ChatGPT LMM์ ์์จ์ฃผํ์ ์ ์ฉํ๋ค๋ ๊ธฐ์ฌ๋ฅผ ์ฝ์๋ค. ๋๋ค์์ ์ ๋ฌธ๊ฐ๋ค์ ์์จ์ฃผํ์ LMM ์ ์ฉ์ด ์๊ธฐ์์กฐ๋ผ๋ ๋ป์ ์๊ฒฌ์ ๋ชจ์ผ๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋ง ๊ทธ๋๋ก ์ ๋ง ์๊ฒฌ์ผ ๋ฟ์ด๋ค. ์ฌ๋ด์ด๊ธด ํ์ง๋ง ์ผ๋ก ๋จธ์คํฌ๊ฐ ์ฐ์ฃผ์ฌํ ์ฌ์ ์ ์์ํ๋ค๊ณ ํ์ ๋ ๊ธ์ ์ ์ผ๋ก ๋ฐ๋ผ๋ณธ ์ฌ๋๋ณด๋ค ๋ถ์ ์ ์ ์ผ๋ก ๋ฐ๋ผ๋ณธ ์ฌ๋์ด ๋ ๋ง์๋ค. ํ์ง๋ง ํ ์ฌ๋ผ๋ ๋ณด๋ ๋ฏ์ด ์ฐ์ฃผ์ง์ถ์ ์ฑ๊ณตํ๋ค.
๋ค์ Docker๋ก ๋์์์ ์ด์ผ๊ธฐ ํ์๋ฉด, ๊ฒฐ๋ก ์ ์์ผ๋ก์ ์๋์ฐจ๋ AI๊ฐ ๊ธฐ๋ณธ ๋ฒ ์ด์ค๋ก ํ์ฌ๋ ํํ๋ก ๋ง๋ค์ด์ง ๊ฒ์ด๋ผ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๊ณ์ ์ธ๊ธ๋๋ Docker๋ ์ฐจ๋ AI ๋ชจ๋ธ์ ๋ง์น ๋ชจ๋ ๊ฒ์ ๋ด์ ์ ์๋ ์์์ฒ๋ผ ์ปจํ ์ด๋ํ์์ผ ๊ฐ๋ฐ์๋ค์ด ๋ค์ํ ๋ชจ๋ธ๊ณผ ์ํคํ ์ฒ๋ฅผ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ๋ก ์ดํดํด๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค. ์ฒซ๋ฒ์งธ ํค์๋๋ โAI ๊ฐ๋ฐ ๋ฐ ์ปจํ ์ด๋ํ ํธ๋๋โ์ด๋ค.
ํนํ NVIDIA๋ โ์๋ ๋ ์ด๋ธ๋ง ํ์ดํ๋ผ์ธ์ ํจ์จ์ฑโ ์ธก๋ฉด์์ Docker๊ฐ ์์จ์ฃผํ ์ฐจ๋์ AI ๋ชจ๋ธ ํ์ต์ ์ต์ ํํ๋ ๋ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์ค๋ช ํ๊ณ ์๋ค. ์ ๋ฆฌํ๋ฉด, ์์จ์ฃผํ ์์คํ ์ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋๋ฐ, ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ด๋ธ๋งํ๊ณ ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๊ณผ์ ์์ ์๊ฐ์ด ๋ง์ด ์์๋ ์ ์๋ค. ํ์ง๋ง Docker๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๊ณผ์ ์ ์ปจํ ์ด๋ํํ์ฌ ์ค๋ฒํค๋(๋ถํ์ํ ์์คํ ์์ ์๋ชจ)๋ฅผ ์ค์ผ ์ ์๊ณ , ์ฒ๋ฆฌ ์๋๋ฅผ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ์์จ์ฃผํ ์ฐจ๋์ ์ผ์์์ ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ด๋ธ๋งํ๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฅผ AI ๋ชจ๋ธ์ ์ ๋ฌํด ํ์ต์ํค๋ ๊ณผ์ ์ ๋งค์ฐ ๋ณต์กํ๋ค. ํ์ง๋ง Docker ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ผํ ํ๊ฒฝ์์ ์ผ๊ด๋ ์์ ์ ์คํํ ์ ์์ด, ์์ ์๋์ ํจ์จ์ฑ์ ๋์ผ ์ ์์ ๊ฒ์ด๋ค. ์ฆ, ์ปจํ ์ด๋ ์์์ ๋ชจ๋ ๋ชจ๋ธ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋, ๋ณ๋์ ํ๊ฒฝ ์ค์ ์ด๋ ๋ณต์กํ ์์คํ ์กฐ์ ์์ด ๋น ๋ฅด๊ณ ์ผ๊ด๋ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ด๋ค.
์์ ์์จ์ฃผํ ์ฐจ๋์ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ธํ๋๋ฐ,๋ํ์ ์ผ๋ก LiDAR, ๋ ์ด๋, ์นด๋ฉ๋ผ ๋ฑ์ด ์๋ค. ์ด ์ธ๊ฐ์ง ์ผ์์ ๋ฐ์ดํฐ๋ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ฏ์ด ์๋ก ๋ค๋ฅธ ํ์๊ณผ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์ฌ๊ธฐ์ Docker์ โํ์ฅ์ฑ๊ณผ ๋ฐฐํฌโํน์ง์ด ๋น์ ๋ธ๋ค.
์๋ฅผ ๋ค์ด, LiDAR ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ปจํ ์ด๋, ์นด๋ฉ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ปจํ ์ด๋, ๊ทธ๋ฆฌ๊ณ ๋ ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ปจํ ์ด๋๋ฅผ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์ํ ์ ์๋ค. ๊ฐ ์ผ์ ๋ฐ์ดํฐ๋ง๋ค ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ผ๋, Docker๋ ๊ทธ ๋ชจ๋ ์์ ์ด ๋์ผํ ํ๊ฒฝ์์ ์คํ๋๋๋ก ๋ณด์ฅํ๋ค. ์ด๋ ๊ฒ ๋๋ฉด ๊ฐ๋ฐ์๋ค์ด ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ ํ์๊ฐ ์๊ณ , ๋ฐ์ดํฐ ๊ฐ ์ถฉ๋์ด๋ ํ๊ฒฝ ์ค์ ๋ฌธ์ ๋ฅผ ์ต์ํํ ์ ์๋ค.
๋ฟ๋ง ์๋๋ผ, Docker๋ฅผ ํตํด ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์์ด ์ฒ๋ฆฌ ์๋๋ ํฌ๊ฒ ํฅ์๋๋ค. ๊ธฐ์กด์ ๋ฌผ๋ฆฌ์ ํ๊ฒฝ์์๋ ๊ฐ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ ค์ง๊ณ ์ค๋ฅ ๋ฐ์ ํ๋ฅ ๋ ๋์๋ค. ํ์ง๋ง Docker๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํจ์ผ๋ก์จ ์์จ์ฃผํ ์์คํ ์ ํจ์จ์ฑ์ ํฌ๊ฒ ๋์ฌ์ค๋ค.
์ ๊น ์ดํด๋ณธ๊ฑฐ์ง๋ง Docker๋ ๋ถ๋ช ๊ธฐํนํ ๊ณ ๋๊ฐ ๋ง๋ค. ์ง๊ธ ์ธ๊ธํ AI ์ปจํ ์ด๋ํ ํธ๋๋, ์๋ ๋ ์ด๋ธ๋ง ํ์ดํ๋ผ์ธ์ ํจ์จ์ฑ, ํ์ฅ์ฑ ์ด์ธ์๋ ์ฌ๋ฌ ์ฅ์ ์ด ์์ ๊ฒ์ด ๋ถ๋ช ํ๋ค. ์ด์ ๋ํด์๋ ์ง์ ์ค์ต๋ ํด๋ณด๋ฉด์ ์ฐจ์ฐจ ์์๊ฐ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
2. 10 Basic Docker Commands
Docker๋ฅผ ์ฌ์ฉํ๋ฉฐ ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด๋ 10๊ฐ ์ ๋ ๋๋ ๊ฒ ๊ฐ๋ค. ์ฒ์ Git์ ์ธ ๋, commit, pull, push์ ๊ฐ์ ๋ช ๋ น์ด ๋ช๊ฐ๋ฅผ ๋ฐฐ์ ๋๋ฐ, ์ฒ์์ ๋์ฒด ๋ญ์๋ฆฐ๊ฐ ํ๋ค. ๊ทธ๋๋ ๊ทธ ๋๋ถ์ธ์ง ์ฒ์ ๋์ปค ๋ช ๋ น์ด๋ฅผ ๋ดค์ ๋ Git๊ณผ ๋น์ทํ๋ค๋ ๋๋์ ๋ฐ์๋ค. ์๋๋ ๋ํ์ ์ธ ๊ธฐ๋ณธ ๋ช ๋ น์ด 10๊ฐ๋ค.
- docker pull
- docker build ยซ- Dockerfile
- docker run
- docker images
- docker ps (-a)
- docker stop
- docker start
- docker exec -it
/bin/bash - docker rm
- docker rmi
๋ช ๋ น์ด๋ฅผ ๋ณด๋ฉด โimagesโ, โcontainerโ์ ๊ฐ์ ๋จ์ด๊ฐ ๋ณด์ธ๋ค. ์์ Git๊ณผ ์ ์ฌํ๋ค๊ณ ํ๋๋ฐ, ์๋์ ๊ฐ์ด ์ ๋ฆฌํด๋ดค๋ค. ๋ฌผ๋ก ์ค์ ๋ก ์์ ํ Git๊ณผ Docker์ ํ๋ก์ฐ๊ฐ ๋๊ฐ๋ค๋ ๊ฑด ์ ๋ ์๋๋ค. (์ด์ ๊ด๋ จ๋ Docker ์ด์์ฒด์ ์ด์ผ๊ธฐ๋ ์ถํ ํฌ์คํ ์์ .) ๋ด๊ฐ ๋๋ผ๊ธฐ์ ๊ฐ์ํ๊ฒฝ์์ ์์ ํ๋ค๋๊ฒ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋๊ปด์ง๋ค๋ ๊ฒ์ด๋ค. Docker์์์ โimagesโ๋ฅผ ์ฒ์ ์ ํ์ ๋๋ ๋ฌด์จ ์ฌ์ง์ ๊ฐ์ ธ์จ๋ค๋ ๊ฑด๊ฐ? ๋ผ๊ณ ์ฒ์ ์ดํดํ๋ค. ์๊ณ ๋ณด๋ images๋ ์ฝ๊ฐ ๋ถ์ด๋นต๐๐ ํ? ๊ฐ์ ๊ฑฐ๋๋ค. ๊ทธ๋ผ โcontainerโ์ ๋ ๋ฌด์์ธ์ง ๊ถ๊ธํด์ก๋ค. ๋๋ต์ ์ฑ์, ํ๋ ๋ผ๊ณ ํ๋ค. (ํ์ฅ..)
์ฒ์์ ๋ถ์ด๋นต ๋ญ์๋ฆฐ๊ฐ ํ ์ ์์ง๋ง, ๊ฒฐ๋ก ์ ๋ด๊ฐ python์ฒ๋ผ ์ํ๋ ์์ค๋ฅผ images๋ก์ Docker Registory์์ ๋น๊ฒจ์ฌ ์ ์๊ณ (pull), ๋ด ๋ก์ปฌ์ด ์๋ โcontainerโ๋ผ๋ ๊ฐ์ ํ๊ฒฝ(Docker daemon)์์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ผ๋ก ์ผ๋จ ์ดํดํ๊ณ ๋์ด๊ฐ๋๋ก ํ์.
3. Try Using the Basic Commands
๋ถ์ด๋นต์ ๊ธฐ์ตํ๋ฉฐ ์ง์ ์ค์ต๋ ํด๋ดค๋ค.
๐ป $ docker ps
๐ป $ docker ps -a
๋์ ๋ก์ปฌ์ ๋์๊ฐ๊ณ ์๋ ๋ถ์ด๋นต๋ค์ ๋ณผ ์ ์๋ ๋ช ๋ น์ด๋ค. โnginxโ๋ผ๋ ๋ถ์ด๋นต ํ์ด โreverent_beaverโ์ด๋ผ๋ ๊ณณ์์ ์ฅ์ฌ๋ฅผ ํ๊ณ ์๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค.
๐ป $ docker images
๋ด๊ฐ ๊ฐ์ง ์ ์ฒด ๋ถ์ด๋นต ํ์ ํ์ธํ๋ ๋ช ๋ น์ด๋ก ์ด 6๊ฐ์ images๋ฅผ ํ์ธํ ์ ์๋ค.
๐ป $ docker pull <images name>
์์์ ํ์ธํ๋ฏ์ด ๋๋ ํ์ฌ โpythonโ์ด๋ผ๋ ์ด๋ฆ์ ๋ถ์ด๋นต ํ์ด ์๋ ์ํ๋ค. โpythonโ์ด๋ผ๋ ์ด๋ฆ์ ๋ถ์ด๋นต ํ์ ์ํ๋ค๋ฉด Docker registory์์ ๊ฐ์ ธ์ค๋ฉด ๋๋ค. ์ ์์ ์ผ๋ก ์งํ๋๋ฉด ์๋์ ๊ฐ์ด ์ด์ ์ ์์๋ โpythonโ images๊ฐ ์์ฑ๋จ์ ํ์ธํ ์ ์๋ค.
๐ป $ docker run -it โname <container name> <images>
๐ป $ docker exec -it <container name> <images>
๋ถ์ด๋นต ํ์ ๊ฐ์ ธ์๋ค๋ฉด ํ๋ฒ ์ฌ์ฉํด๋ด์ผํ ๊ฒ์ด๋ค. ๋ถ์ด๋นต ํ์ โpython-containerโ์ด๋ผ๋ ์ด๋ฆ์ ์ ํด์ฃผ๊ณ ์คํ์์ผ ๋ณด๋ฉด ์ค์ ๋ก ์ ์๋ํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ผ๋จ ๋ง๋ค์ด ๋์ ๋ถ์ด๋นต ํ์ โexecโ ๋ช ๋ น์ด๋ก ์คํ ๊ฐ๋ฅํ๋ค.
๐ป $ docker stop <container name>
๐ป $ docker rm <container name>
๐ป $ docker rmi <image name>
ํ์์๋ ๋ถ์ด๋นต ํ(images)์ด ์๊ธธ ์๋ ์๋ค. ๊ทธ๋ด ๋๋ ์ญ์ ํ๋ฉด ๋๋ค. ์ฃผ์ํ ์ ์ ๋ฐ๋ก python์ด๋ผ๋ ์ด๋ฆ์ ๋ถ์ด๋นต ํ์ ์ญ์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํ์ ์ญ์ ์ด ๋ถ๋ถ์ด ํ๋ฒ์ ์ดํด๊ฐ ๋์ง๋ ์์์๋ค. ๊ฒฐ๋ก ์ ๋จผ์ ์ญ์ ํ๊ณ ์ ํ๋ container๋ฅผ ์ค์ง(stop)ํ ํ ์ญ์ ํด์ผ ํ๊ณ , ์ดํ ๋ถ์ด๋นต ํ(images) ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
์ง๊ธ๊น์ง์ ๊ธ๋ก 1์ฃผ์ฐจ Docker์คํฐ๋๋ฅผ ์ ๋ฆฌํด๋ณด์๋ค. Docker๊ฐ ์ต์ํ ๊ฐ๋ฐ์๋ผ๋ฉด ๋ถ์ด๋นต๋ง ์ธ์น๋ ์ง๊ธ ๋์ ๊ธ์ด ๊ฝค ์ ์นํ๋ค๊ณ ํ ์๋ ์๋ค. ์๋ฌด๋ ด ๋๋ Docker๊ฐ ๊ณ ๋ ๊ทธ ์ด์์ด ๋์ง 1์ฃผ์ฐจ ๋ ๊ฐ๋ฐ์๋ค. ์ฌ์ค ์ดํด๊ฐ ๋ ๋ถ๋ถ๋ ์๋๊ฐ ํ๋ฉด ์๋ฒฝํ ์ดํด๊ฐ ๋์ง ์์ ๋ถ๋ถ๋ ์๋ค. ๋ค์ ํฌ์คํ ์์๋ Azure์์ ์ฐ๋ถํฌ ๊ฐ์ ๋จธ์ ์ ๊ตฌ์ถํ๋ ์ค์ต ๋ด์ฉ์ ์ด์ด์ ์ ๋ฆฌํด๋ณธ๋ค๋ฉด ์ง๊ธ๋ณด๋ค๋ ๋ Docker๋ฅผ ์ดํดํ ์ ์์ง ์์๊น ์ถ๋ค!
Reference
Subscribe via RSS