๐ณ Docker study 3rd
Optimizing Kaggle Python Docker for Data Analysis
by Arielle
1. Setting up a Python analysis environment
Kaggle ํ๋ซํผ์์๋ โKaggle GPU Imageโ๋ผ๋ GPU๋ฅผ ์ง์ํ๋ Docker ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๊ณ ์๋ค. ์ด ์ด๋ฏธ์ง๋ฅผ ์ด์ฉํ๋ฉด ๋ฅ๋ฌ๋์ ํ์ํ ํ๋ ์์ํฌ(์๋ฅผ ๋ค๋ฉด TensorFlow, PytTorch)์ ๊ด๋ จ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํ๋ฒ์ ํจํค์ง ํํ๋ก ์ฌ์ฉํ ์ ์์ด ๊ฝค ์ ์ฉํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Kaggle GPU๋ โTesla T4 GPUโ ํ๋์จ์ด๋ฅผ ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ๋๋ฐ, ์ด ๋ถ๋ถ์ ๋ค์์ ์ค์ ๋ก ์ฝ๋๋ฅผ ํตํด ํ์ธํด๋ณด๋๋ก ํ๋ค.
๋จผ์ ์๋ ์ฌ์ง์ฒ๋ผ Kaggle Github ํ์ด์ง๋ก ๋ค์ด๊ฐ๋ฉด ๋๋ค. ๊ฒ์์ฐฝ์ โkaggle python docker imageโ๋ผ๊ณ ๊ฒ์ํ๋ฉด Github ํ์ด์ง๋ฅผ ์ฐพ์ ์ ์๋ค. ํ๋จ์README ํ์ผ์์ ์ฌ์ฉํ๋ ค๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ์ข ๋ฅ๋ฅผ โCPU-onlyโ, โGPUโ ๋ ์ค ์ ํํ ์ ์๋๋ฐ, ์.. ๋ง์ ์ ์ฒด์ ์ผ๋ก ๋ค ์ค์ตํด๋ณด๊ณ ๋๋ GPU๋ฅผ ์ ํํ๋ ๊ฒ, ์ถํ ๊ฐ๋ฐ ํ๊ฒฝ ํ์ฅ์ฑ ์ธก๋ฉด์์ ๋ ์ด๋์ธ ๊ฒ ๊ฐ๋ค. ์ด ์ด์ผ๊ธฐ๋ ๋ค์์ ์ค๋ช ํ๊ฒ ์ง๋ง, โDev Container Extensionโ์ ์ฌ์ฉํ๋ฉด .json ํ์ผ์ด ์๋์ผ๋ก ์์ฑ๋๋๋ฐ ๋ด๊ฐ ์ํ๋ ํ์ฅ ํ์ผ์ ์ปค์คํ ํ ์๋ ์๋ค. ์ด ๋ GPU๋ฅผ ๋ํดํธ๋ก ์ฌ์ฉํ ์๋ ์์ง๋ง, ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํตํด ๊ธฐ๋ณธ ๋ก์ปฌ์ CPU๋ฅผ ์ฌ์ฉํ ์๋ ์๋ ์ ์ ๊ณ ๋ คํ์ ๋, ์ ๋จ๊ณ์์ โCPU-onlyโ๋ฅผ ์ ํํ๋ ๊ฑด ๋๋ฌด ์์ผ๊ฐ ์ข์์ง๋ ๋๋์ด ๋ค๊ธฐ๋ ํ๋ค. ๋ฌผ๋ก ์ด ๋ถ๋ถ์ ์ฌ์ฉ์์ ์ ํ์ด๋ค! ๐
๋๋ โGPUโ ๋งํฌ๋ฅผ ํ๊ณ ๋ค์ด์๋ค. ์ฌ๋ฐ๋ฅด๊ฒ ๋ค์ด์์ผ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋ณด์ผํ ๋ฐ, ์ด ํด๋ผ์ฐ๋๋ Kaggle์ GPU ์ด๋ฏธ์ง๋ค์ ๋ฒ์ ๋ณ๋ก ์ ๋ฆฌํด ๋์ ํด๋๋ค. ํ ์์ (24.10.11) ๊ธฐ์ค ๊ฐ์ฅ ์ต์ ์ด๋ฏธ์ง๋ v153์ผ๋ก ๋๋ ์ด ์ด๋ฏธ์ง๋ฅผ ๋น๊ฒจ(pull)์๋ค.
๐ป Related Commands
โ
ssh -i <~/.ssh/id_rsa.pem>
- ๊ฐ์๋จธ์ ์๋ฒ ์ฐ๊ฒฐ
โ
sudo usermod -aG docker
- ํ์ฌ ์์คํ ์์ ํน์ ์ฌ์ฉ์๋ฅผ Docker ๊ทธ๋ฃน์ ์ถ๊ฐํ๊ธฐ!
- usermod ๋ช ๋ น์ด๋ ์ฌ์ฉ์์ ์์ฑ์ ๋ณ๊ฒฝํ๋ฉฐ, -aG ์ต์ ์ ๊ทธ๋ฃน์ ์ถ๊ฐํ๋ ๊ฒ์ ์๋ฏธํจ. (ํ ํ๋ก์ ํธ ์, ์ด ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋์ ํ์ ์ถ๊ฐ ๊ฐ๋ฅ!)
โ
docker pull
- Docker ์ด๋ฏธ์ง๋ฅผ Docker Hub ๋๋ ๋ค๋ฅธ ์ด๋ฏธ์ง ์ ์ฅ์์์ ๋ค์ด๋ฐ๊ธฐ!
2. Setting Up a Remote Development Environment
2.1 Connecting to a virtual machine via remote method
๊ฐ์ํ๊ฒฝ์ ์ฐ๊ฒฐ๋ ์ํ์์ ์ถ๊ฐ๋ก Remote ๋ฐฉ์์ผ๋ก ์๋ก์ด ์๋์ฐ๋ฅผ ํตํด ๊ฐ์๋จธ์ ์ ์ ์ํ๋ค. (โDocker study 2ndโ ์ฐธ๊ณ )
์ ์๊ณผ ๊ด๋ จ๋ ์์๋ ์๋ ๐ [์ ์ ์์ ์์ฝ]์ ์ฐธ๊ณ ํ๋ฉด ๋๋ค. ํ์ผ์ด ์ ๋๋ก ์์ฑ ๋์๋ค๋ฉด ํ์ผ ์์ฒด๊ฐ ๊ณ ๋ ์์ด์ฝ๊ณผ ํจ๊ป Dockerfile์ด ์๋์ผ๋ก ์์ฑ๋จ์ ํ์ธํ ์ ์๋ค. ์ด ํ์ผ์ Docker ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ค์ ํ์ผ์ธ๋ฐ, ๊ฐ๋จํ ๋งํ๋ฉด ํน์ ๋ช ๋ น์ด๋ค์ ํฌํจํ์ฌ Docker ์ปจํ ์ด๋์์ ์ด๋ค ํ๊ฒฝ์ ์ค์ ํ๊ณ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ง ์ ์ํ๋ ํ์ผ์ด๋ค.
๋๋ FROM
๋ช
๋ น์ด๋ก ์ด๋ค ์ด๋ฏธ์ง ๊ธฐ๋ฐ์์ ์ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ง ์ค์ ํ๋ ์ฝ๋๋ฅผ ๋ฃ์๋ค. gcr.io/kaggle-gpu-images/python:v153
์ ์ค์ ํ๋๋ฐ, ์ฌ์ค ์ด๋ฏธ ์์ โ1. Setting up a Python analysis environmentโ ์์ v153์ ์ด๋ฏธ ๋ค์ด ๋ฐ์ ๋ด์ญ์ด ์๋ค. ๊ทธ๋์ ํฐ๋ฏธ๋์์ sudo docker images
๋ก ํ์ธํด๋ณด๋ฉด ํด๋น ์ด๋ฏธ์ง๊ฐ ์ด๋ฏธ ์กด์ฌํ๊ณ ์์์ ํ์ธํ ์ ์๋ค. ์๋ฌดํผ ์ด๋ ๊ฒ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ Dockerfile์์ ์ค์ ํ ํ RUN
๋ช
๋ น์ด๋ก ์ดpip install yfinance
ํจํค์ง๋ฅผ ์ถ๊ฐ๋ก ๋น๋ํด ์ฃผ์๋ค. (๋ด๊ฐ ์ํ๋ ์ถ๊ฐ ์ด๋ฏธ์ง๊ฐ ์์ผ๋ฉด ์ฌ๊ธฐ์ ๋น๋ํด ์ฃผ๋ฉด ๋จ!)
๐ [์ ์ ์์ ์์ฝ] open a remote window โ Connect to Tunnel โ GitHub โ kaggle-linux-gpu-vm(๊ฐ์ํ๊ฒฝ ์ด๋ฆ) โ โkaggle-python-gpu-envโ ํด๋ ์์ฑ โ ๊ทธ ์์ โDockerileโ ํ์ผ ์์ฑ(์๋์ผ๋ก Docker intelligence ์ ์ฉ ๋๋ ๊ฒ ํ์ธ!)
2.2 Setting up the environment using the Dev Container Extension
๋ค์์ผ๋ก Dev Container๋ฅผ ์ด์ฉํด ์ถ๊ฐ๋ก ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํด์ฃผ์๋ค. ์ฃผ์ํ ์ ์ ์ด์ ์ ์์ฑํ ํด๋ (โkaggle-python-gpu-envโ)๋ก ์ ๊ทผ ํ ์งํํด์ผ ํ๋ค๋ ์ ์ด๋ค.๐จ ($cd ์ฒ๋ผ ํ์ฌ ๋ด๊ฐ ์์นํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ๊พธ๋ผ๋ ๋ป์!)
โ๏ธ [์ ํ ์์ ] Dev Container Extension, Remote Tunnel Extension์ด ๊ฐ์๋จธ์ & ๋ก์ปฌ์ ์ค์น๋์ด ์์ด์ผ ํจ.
Editing on kaggle-linux-gpu-vm(์ข์ธก ํ๋จ ํ๋์ remote)์ ํด๋ฆญ ํ โAdd Dev Container Configuration Filesโฆโ๋ก ๋ค์ด๊ฐ ์ฃผ์๋ค.
๊ทธ๋ฌ๋ฉด ์๋ ์ฌ์ง์ฒ๋ผ ์ต์ ์ฐฝ์ด ๋์ค๋๋ฐ โFrom โDockerfileโโ์ ์ ํํด์ฃผ๋ฉด ๋๋ค.
์ดํ ๋์ค๋ ์ถ๊ฐ ์ต์ ์ฐฝ์ ๊ทธ๋ฅ ๋๊ณ ok๋ฅผ ๋๋ฌ ์ค์ ์ ๋๋ด๋ฉด ๋๋ค.
2.3 Differences between Dockerfile and devcontainer.json
๊ทธ๋ฌ๋ฉด .json ํ์ผ์ด ํ๋ ์์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ ๊ฒ์ด๋ค.
์ด ํ์ผ์ Dev Container Extension์ ์ค์นํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ ์ ์๋ ์ถ๊ฐ์ ์ธ ์ปจํ ์ด๋ ์ปค์คํ /์ต์ ์ฐฝ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ฌ์ค ๋๋ ์ด ๋ถ๋ถ๋ถํฐ ์ ๋ฆฌ๊ฐ ์๋๊ธฐ ์์ํ๋๋ฐ โ2.1 Connecting to a virtual machine via remote methodโ ์์ ์ด๋ฏธ Dockerfile์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ๋ก ์ด .json ํ์ผ์์ ๋ฌด์์ ๋ ์ค์ ํ๋ผ๋ ๊ฑด์ง ๋ชจํธํ๋ค.
๐ย Dockerfile?
#๋ถ์ด๋นต ํ์ ๋ง๋๋ ๋ ์ํผ
Dockerfile์ ์ปจํ ์ด๋์์ ์คํํ ํ๊ฒฝ์ ๋ง๋๋ ๋ ์ํผ๋ก ์๊ฐํด ๋ดค๋ค(๋ถ์ด๋นต๐๐ ๋ค์ ๋ฑ์ฅ). ์ฐ๋ฆฌ๊ฐ ์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด ๊ทธ ํ๋ก๊ทธ๋จ์ด ๋์๊ฐ๊ฒ ํ ํ๊ฒฝ์ด ํ์ํ๋ค. ์๋ฅผ ๋ค์ด ํ๋ก๊ทธ๋จ์ด Python์ผ๋ก ์ง์ฌ ์์ผ๋ฉด Python์ ์ค์นํด์ผ ํ๋ ๊ฒ์ฒ๋ผ, Dockerfile์ ๊ทธ๋ฐ ๊ฒ๋ค์ ์๋์ผ๋ก ์ค์ ํด์ฃผ๋ ํ์ผ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
A. ๋ฒ ์ด์ค ์ด๋ฏธ์ง ์ค์ : ๋ถ์ด๋นต์ ๋ง๋ค ๋ ์ด๋ค ๋ง์ ๋ฐ์ฃฝ์ ์ธ์ง ์ ํ๋ ๊ฐ๋ ์ผ๋ก Python์ด๋ Ubuntu ๊ฐ์ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ๋ค!
B. ํ์ํ ํ๋ก๊ทธ๋จ ์ค์น: ๋ถ์ด๋นต ๋ฐ์ฃฝ์ ํ์ํ ์ฌ๋ฃ๋ฅผ ๋ฃ๋ ๊ฒ๊ณผ ๊ฐ๋ค! ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ํด ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจํค์ง๋ฅผ ์ค์นํ ์ ์๋ค๋ ๋ป์ผ๋ก ์๋ฅผ ๋ค์ด, ๋ถ์ด๋นต ๋ฐ์ฃฝ์ ์ด์ฝ๋ฆฟ ์นฉ์ ๋ฃ๋ฏ, ํ๋ก๊ทธ๋จ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ค!
C. ์คํ ๋ช ๋ น์ด: ๋ถ์ด๋นต์ด ์์ฑ๋ ํ์ ์ด๋ป๊ฒ ๊ตฌ์ธ์ง ์ ํ๋ ๊ฒ์ฒ๋ผ ์ปจํ ์ด๋๊ฐ ์ผ์ก์ ๋ ์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํํ ์ง ์ค์ ํ ์ ์๋ค! ์๋ฅผ ๋ค์ด ๋ถ์ด๋นต์ ๊ตฝ๋ ์จ๋์ ์๊ฐ์ ์ ํ ์ ์๋ ๊ฒ์ฒ๋ผ ํ๋ก๊ทธ๋จ ์ญ์ ์๋์ผ๋ก ์คํ๋ ๋ช ๋ น์ด๋ฅผ ์ค์ ํ ์ ์๋ค!
๐ย Dockerfile example
FROM python:3.9 # Python 3.9์ด ๊น๋ฆฐ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉ
WORKDIR /app # ์์
๋๋ ํ ๋ฆฌ๋ฅผ /app์ผ๋ก ์ค์
COPY . /app # ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ์ปจํ
์ด๋์ /app ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ฌ
RUN pip install -r requirements.txt # ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
CMD ["python", "app.py"] # Python์ผ๋ก app.py ์คํ
๐ย devcontainer.json?
#์ฑ์๋ ํ๋์์ ๋ถ์ด๋นต ๊ฐ๊ฒ๋ฅผ ์ธํ ํ ๋ ํ์ํ ๋๊ตฌ๋ค์ ์์์ ์ค์ ํด์ฃผ๋ ํ์ผ
devcontainer.json์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋๊ตฌ์ ์ค์ ์ ๋ด๊ณ ์๋ ํ์ผ์ด๋ค. ๋ถ์ด๋นต ๋น์ ๋ฅผ ๊ณ์ํ์๋ฉด ์ด๋์์(์ฑ์๋ ํ๋) ๋ถ์ด๋นต์ ํ ๊ฑด์ง๋ฅผ ์ค์ ํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ์ฑ์์์ ํ๋ ํ๋์์ ํ๋ ๊ฐ์ ๋ชจ์์ ๋ถ์ด๋นต์ ๊ตฌ์๋ด์ง๋ง ๊ทธ ์ฃผ๋ณ ํ๊ฒฝ(์์ฅ ๋ถ์๊ธฐ๋ ์ฅ๋น)์ ๋ค๋ฅผ ์ ์๋ค. ์ฆ ํ๋ก๊ทธ๋จ ์ธก๋ฉด์์ ๋ค์ ์๊ฐํด๋ณธ๋ค๋ฉด devcontainer.json์ ๊ฐ๋ฐํ ๋ VS Code์์ ์ฌ์ฉํ ํ์ฅ ๊ธฐ๋ฅ์ด๋ ํฌํธ ๊ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์๋์ผ๋ก ์ค์นํด์ฃผ๋ ํ์ผ์ธ ๊ฒ์ด๋ค.
- ์๋ํฐ ์ค์ : ํ๋๋ ์ฑ์์์ ๋ถ์ด๋นต ํ๋ ๊ฐ๊ฒ๋ง๋ค ํ์ํ ์ฅ๋น๋ฅผ ์๋์ผ๋ก ์ธํ ํด์ฃผ๋ ๊ฒ์ฒ๋ผ ใดVS Code์์ ์ธ ํ์ฅ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ค์นํด์ค๋ค!
- ํฌํธ ์ค์ : ์ปจํ ์ด๋์์ ์คํ๋๋ ์๋ฒ์ ์ ์ํ ์ ์๋๋ก ํฌํธ๋ฅผ ์ด์ด์ค๋ค!
- ์ถ๊ฐ ๋ช ๋ น์ด ์คํ: ์ถ๊ฐ ์์ (๋ช ๋ น์ด)์ ์๋์ผ๋ก ์คํํ๋ค!
๐ย devcontainer.json example
{
"name": "Python Dev Container", # ์ปจํ
์ด๋ ์ด๋ฆ
"dockerFile": "./Dockerfile", # Dockerfile์ ์ฌ์ฉ
"settings": {
"python.pythonPath": "/usr/local/bin/python" # Python ๊ฒฝ๋ก ์ค์
},
"extensions": [ # VS Code์์ ์ค์นํ ํ์ฅ ๊ธฐ๋ฅ
"ms-python.python",
"ms-toolsai.jupyter"
],
"forwardPorts": [5000], # ์ปจํ
์ด๋์์ ๋ก์ปฌ๋ก ์ด์ด์ค ํฌํธ
"postCreateCommand": "pip install -r requirements.txt" # ์ปจํ
์ด๋๊ฐ ์์ฑ๋ ํ ์คํํ ๋ช
๋ น์ด
}
๐ย summary
ํญ๋ชฉ | Dockerfile | devcontainer.json |
---|---|---|
๋ชฉ์ | ์ ํ๋ฆฌ์ผ์ด์ ์คํ ํ๊ฒฝ ๋ง๋ค๊ธฐ | ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ (๋๊ตฌ, ํ์ฅ ๊ธฐ๋ฅ ๋ฑ) |
์ฌ์ฉ ์์น | ํ๋ก๋์ , ํ ์คํธ, ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ ๊ฐ๋ฅ | ์ฃผ๋ก ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ (VS Code์ ํจ๊ป) |
์ค์ ๋ด์ฉ | ๊ธฐ๋ณธ ์ด๋ฏธ์ง, ํ๋ก๊ทธ๋จ ์ค์น, ์คํ ๋ช ๋ น์ด | ํฌํธ ์ค์ , VS Code ํ์ฅ ๊ธฐ๋ฅ, ์ถ๊ฐ ๋ช ๋ น์ด |
๋๋ถ๋ถ์ ๊ฒฝ์ฐ devcontainer.json์ Dockerfile์ ์ฐธ์กฐํ๋ ๊ฒ ๊ฐ๋ค. ์ฑ์๋ ํ๋์์ ๋ถ์ด๋นต ๊ฐ๊ฒ๋ฅผ ์ธํ ํ ๋ ๋ถ์ด๋นต ํ(Dockerfile)์ ๋์ผํ์ง๋ง ๊ฐ๊ฒ ํ๊ฒฝ(devcontainer.json)์ ๊ฐ๊ธฐ ๋ค๋ฅผ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ง์ด๋ค.
์ ๋ฆฌํ์๋ฉด Dockerfile์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋ ํ๊ฒฝ์ ๋ง๋ค๊ณ , devcontainer.json์ ๊ฐ๋ฐ์๊ฐ ๊ทธ ํ๊ฒฝ์์ ํธํ๊ฒ ์์ ํ ์ ์๋๋ก ๋๊ตฌ๋ฅผ ์ธํ ํด์ฃผ๋ ๊ฑธ๋ก ์ดํดํ ์ ์๋ค๋ฉด ์ด์ ์ด ๋ถ๋ถ์์ ๋์ด์ ํค๋งค๋ ์ผ์ ์์ ๊ฒ์ด๋ค!
์๋ ์ฌ์ง์ ์ฐธ๊ณ ์ฌํญ์ธ๋ฐ, ์ด๋ ๊ฒ .json ํ์ผ์ extension์ ์ถ๊ฐํ๋ ค๋ฉด ์ํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ์ โCopy Extension IDโ๋ฅผ ํตํด ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค!
์ฌ๊ธฐ๊น์ง๊ฐ 3์ฃผ์ฐจ Docker ์คํฐ๋์ ๋ด์ฉ์ด๋ค. ์ ๋ฒ ์ฃผ ๊น์ง๋ ์ค์ ๋ง ์ด์ฌํ ํ๋๋ผ(๋ฌผ๋ก ์ด๋ฒ์ฃผ๋.. ๐) ๋ด๊ฐ ๋ญ ํ๊ณ ์๋์ง ์ ์ ์๊ธด ํ๋ค. ๊ทธ๋ฐ๋ฐ ํ์คํ ๊ฑด Docker ์์ฒด๊ฐ ๊ฒฐ๊ตญ์๋ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๋ ํด์ด๋ผ๋ ๊ฒ์ด๋ค. ์ด๋ฏธ ์์ฑ ๋ ์ปจํ ์ด๋ ์์ ๋ด๊ฐ ํ์ํ ํจํค์ง๋ค์ ์ ๋๋ก ์ฌ๋ฆด ์ ์๋ค๋ฉด ๊ทธ๊ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ ๋ฒ์ ์ถฉ๋ ๊ฒฝํ์ด ์ฌ๋ฌ ์ฐจ๋ก ์๋ ๋์๊ฒ๋ ์ค์์์ค์์ ํ๋ฆผ์๋ ๊ฒ ๊ฐ๋ค.
์ถ๊ฐ๋ก 3์ฃผ์ฐจ ์คํฐ๋์ ๊ด๋ จํด์ Bench Mark ํฌ์คํ ๋ ์ ๋ก๋ ๋์ด ์๋ค. ์ง๊ธ๊น์ง ๊ณ์ํด์ ์ด์ฌํ ๊ณ ์ํ๋ฉฐ ๋์ปค๋ฅผ ๋น๋ํด๋ณด๊ณ ์๋๋ฐ, ์ง์ง ์ด๊ฒ ๋ก์ปฌ๊ณผ ๊ฐ์๋จธ์ ์ฌ์ด์์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์ผ๋ง๋ ์ฐจ์ด๋๋์ง ๊ถ๊ธํ ๋ถ๋ค๋ ์์ ๊ฒ ๊ฐ๋ค. ์กฐ๊ธ์ด๋ผ๋ ๊ถ๊ธํจ์ด ๋ ๋ค๋ฉด โDocker study 3 [Bench Mark]โ๋ฅผ ์ด์ด์ ๋ด์ฃผ๋ฉด ์ข๊ฒ ๋ค!
Reference
Subscribe via RSS