D: ๐ ๋์ปค(Docker)๊ฐ ๋ญ๊ฐ์?
์ปจํ
์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ ๊ธฐ์ ๋ก, ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํํ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ ํต์ ๊ฐ์๋จธ์ vs ๋์ปค
- ๊ฐ์๋จธ์ : ์ ์ฒด OS๋ฅผ ๊ฐ์ํ โ ๋ฌด๊ฒ๊ณ ๋๋ฆผ
- ๋์ปค: ํธ์คํธ OS ์ปค๋ ๊ณต์ โ ๊ฐ๋ณ๊ณ ๋น ๋ฆ (์: ์ฐ๋ถํฌ ์๋ฒ์์ MySQL, Redis๋ฅผ ๊ฐ๊ฐ ์ปจํ ์ด๋๋ก ๋์ฐ๊ธฐ)
๐ ์ค์น ์ ์ค๋น์ฌํญ
- ์ฐ๋ถํฌ ๋ฒ์ ํ์ธ (20.04 LTS ์ด์ ๊ถ์ฅ)
lsb_release -a
- ํจํค์ง ์
๋ฐ์ดํธ
sudo apt update && sudo apt upgrade -y
๐ง 1๋จ๊ณ: ๋์ปค ์ค์น
1. ํ์ ํจํค์ง ์ค์น
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
2. ๋์ปค ๊ณต์ GPG ํค ์ถ๊ฐ
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3. ์ ์ฅ์ ๋ฑ๋ก
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. ๋์ปค ์์ง ์ค์น
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
5. ์ค์น ํ์ธ
sudo docker run hello-world # "Hello from Docker!" ๋ฉ์์ง ์ถ๋ ฅ ํ์ธ
๐ก ํ: sudo ์์ด ๋์ปค ์ฌ์ฉํ๊ธฐ
sudo usermod -aG docker $USER && newgrp docker
(๋ก๊ทธ์์ ํ ์ฌ์ ์ ํ์)
๐ 2๋จ๊ณ: ๋์ปค ์ปดํฌ์ฆ(Docker Compose) ์ค์น
1. ์ต์ ๋ฒ์ ์ค์น (v2 ๊ธฐ์ค)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. ์คํ ๊ถํ ๋ถ์ฌ
sudo chmod +x /usr/local/bin/docker-compose
3. ๋ฒ์ ํ์ธ
docker-compose --version # ์: Docker Compose version v2.23.0
๐ฏ 3๋จ๊ณ: ํ ์คํธ ํ๋ก์ ํธ๋ก ํ์ธํ๊ธฐ
์์: Nginx ์๋ฒ ๋์ฐ๊ธฐ
docker-compose.yml
ํ์ผ ์์ฑ:version: '3' services: web: image: nginx:latest ports: - "8080:80"
- ์คํ:
docker-compose up -d
- ๋ธ๋ผ์ฐ์ ์์
http://localhost:8080
์ ์ โ Nginx ์ด๊ธฐ ํ์ด์ง ํ์ธ!
๐จ ๋ฌธ์ ํด๊ฒฐ FAQ
- Q1. GPG ํค ์ค๋ฅ๊ฐ ๋์.
โ ์ ์ฅ์ ๋ฑ๋ก ๋จ๊ณ์์signed-by
๊ฒฝ๋ก ์ฌํ์ธ - Q2. ํฌํธ ์ถฉ๋ ๋ฐ์
โnetstat -tulnp
๋ก ์ฌ์ฉ ์ค์ธ ํฌํธ ํ์ธ ํdocker-compose.yml
์์ - Q3. ๋์ปค ๋ช
๋ น์ด๊ฐ ์ ๋จนํ๋ค๋ฉด?
โsudo systemctl restart docker
๋ก ์๋น์ค ์ฌ์์
๐ ๋ง๋ฌด๋ฆฌ
์ด์ ์ฐ๋ถํฌ์์ ๋์ปค์ ๋์ปค ์ปดํฌ์ฆ๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค! ๐
- ๋์ปค ์ฅ์ : ๊ฐ๋ฐ ํ๊ฒฝ ํต์ผ, ๋ฐฐํฌ ๊ฐ์ํ, ๋ฉํฐ ์๋น์ค ๊ด๋ฆฌ ์ฉ์ด
- ์ถ์ฒ ํ์ต ์๋ฃ: ๋์ปค ๊ณต์ ๋ฌธ์, ๋์ปค ์ปดํฌ์ฆ ์ํ ํ๋ก์ ํธ
โ๏ธ ์ค์ต ๊ณผ์ : MySQL + PHPMyAdmin์ ๋์ปค ์ปดํฌ์ฆ๋ก ์ฐ๋ํด ๋ณด์ธ์! (ํํธ:
mysql:5.7
์ด๋ฏธ์ง ์ฌ์ฉ)
๊ถ๊ธํ ์ ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์! ๐