๋ฐ์ํ
๐ณ ๋ฆฌ๋ ์ค(Ubuntu)์์ Docker ์ค์นํ๊ธฐ
1. ์ฌ์ ์ค๋น ์ฌํญ
ํ์ํ ํจํค์ง ์ค์น
sudo apt-get update
# ํจํค์ง ๋ชฉ๋ก์ ์ต์ ์ผ๋ก ๊ฐฑ์
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# ๋์ปค ์ค์น์ ํ์ํ ๊ธฐ๋ณธ ๋๊ตฌ ์ค์น
# - ca-certificates : ๋ณด์ ์ธ์ฆ์ ๊ด๋ จ
# - curl : ์ธํฐ๋ท์์ ํ์ผ ๋ค์ด๋ก๋
# - gnupg : ๋ณด์ ํค ๊ด๋ฆฌ
# - lsb-release : Ubuntu ๋ฒ์ ํ์ธ์ฉ
2. GPG ํค ์ถ๊ฐ
sudo mkdir -m 0755 -p /etc/apt/keyrings
# ๋์ปค ํค๋ฅผ ์ ์ฅํ ํด๋ ์์ฑ (๊ถํ 0755)
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# ๋์ปค ๊ณต์ GPG ํค๋ฅผ ๋ค์ด๋ก๋ ํ ๋ณํํ์ฌ ์ ์ฅ
3. Docker ๋ฆฌํฌ์งํ ๋ฆฌ ์ถ๊ฐ
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# ๋์ปค ์ํํธ์จ์ด๋ฅผ ๋ฐ์ ์ ์๋ ์ ์ฅ์(repository)๋ฅผ ์์คํ
์ ๋ฑ๋ก

4. Docker ์์ง ์ค์น
sudo apt-get update
# ์ ์ฅ์ ๋ฑ๋ก ํ ๋ค์ ํจํค์ง ๋ชฉ๋ก ์
๋ฐ์ดํธ
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# ๋์ปค ๋ณธ์ฒด์ ๊ด๋ จ ๋๊ตฌ ์ค์น
# - docker-ce : ๋์ปค ์์ง (Community Edition)
# - docker-ce-cli : ๋์ปค ๋ช
๋ น์ด ๋๊ตฌ
# - containerd.io : ์ปจํ
์ด๋ ๊ด๋ฆฌ ๋ฐํ์
# - docker-buildx-plugin : ํ์ฅ ๋น๋ ๋๊ตฌ
# - docker-compose-plugin : ์ฌ๋ฌ ์ปจํ
์ด๋ ์คํ ๋๊ตฌ
๐ก ์ค์น ์ค Y ๋ฅผ ์ ๋ ฅํด์ผ ์ค์น๊ฐ ์งํ๋ฉ๋๋ค.
5. ์ค์น ํ์ธ
docker # ๋์ปค ๋ช
๋ น์ด ์คํ → ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์
์ด ๋์ค๋ฉด ์ ์ ์ค์น
6. ๋์ปค ์๋น์ค ์ํ ํ์ธ
systemctl status docker # ๋์ปค ์๋น์ค๊ฐ ์คํ ์ค์ธ์ง ํ์ธ # active (running) ์ด ๋์ค๋ฉด ์ ์ ์คํ ์ค
7. ์ผ๋ฐ ์ฌ์ฉ์๋ ๋์ปค ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ์ค์
sudo usermod -aG docker $USER
# ํ์ฌ ์ฌ์ฉ์๋ฅผ docker ๊ทธ๋ฃน์ ์ถ๊ฐ → sudo ์์ด ์ฌ์ฉ ๊ฐ๋ฅ
exit
# ์ธ์
์ข
๋ฃ ํ ๋ค์ ๋ก๊ทธ์ธํด์ผ ๋ฐ์๋จ
8. ๋์ปค ๋ฒ์ ํ์ธ
docker version # ๋์ปค ํด๋ผ์ด์ธํธ/์๋ฒ ๋ฒ์ ํ์ธ
9. ์ํ ์คํ (Hello World)
docker run hello-world
# ๋์ปค ํ๋ธ์์ hello-world ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ํ ์คํ
# ์ ์ ์ค์น ์ ์๋ด ๋ฉ์์ง ์ถ๋ ฅ
๐ ์ค์น ๊ณผ์ ์๊ฐํ (Mermaid)

๐ง ํ์ ์์ ๋์ปค ์ค์น ํ ํ๋ ์ผ
- ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ
- ํ์์ด ๊ฐ์ ํ๊ฒฝ์์ ๊ฐ๋ฐ → ํ๊ฒฝ ์ฐจ์ด ์ค์
- ํ
์คํธ ์๋ฒ ์ด์
- docker-compose ๋ก ์น ์๋ฒ, DB, ์บ์ ์๋ฒ ์ฝ๊ฒ ๋์
- ์๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ (CI/CD)
- ๊นํ๋ธ ํธ์ → ๋์ปค ์ด๋ฏธ์ง ๋น๋ → ์๋ฒ ์๋ ๋ฐฐํฌ
- ํด๋ผ์ฐ๋ ์๋น์ค ์ฐ๊ณ
- AWS ECS, EKS, GCP GKE ๋ฑ์์ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ด์
โ ์ ๋ฆฌ
- Docker ์ค์น๋ ํจํค์ง ์ค๋น → ํค ๋ฑ๋ก → ์ ์ฅ์ ์ถ๊ฐ → ์์ง ์ค์น ์์
- ์ค์น ํ docker run hello-world ๋ก ์ ์ ๋์ ์ฌ๋ถ ํ์ธ
- ํ์ ์์๋ ๊ฐ๋ฐํ๊ฒฝ ํต์ผ, ํ ์คํธ ์๋ํ, ๋ง์ดํฌ๋ก์๋น์ค ์ด์์ ํ์
๋๋ณด๊ธฐ

๐ณ Ubuntu์์ Docker ์ค์น ์์ฝ
1. ์ฌ์ ์ค๋น
sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release
2. GPG ํค ์ถ๊ฐ
sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3. ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฑ๋ก
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Docker ์ค์น
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. ์ค์น ํ์ธ
docker # ๋ช
๋ น์ด ํ์ธ
systemctl status docker # ์คํ ์ํ ํ์ธ
docker version # ๋ฒ์ ํ์ธ
6. ์ผ๋ฐ ์ฌ์ฉ์ ๊ถํ ์ถ๊ฐ
sudo usermod -aG docker $USER
exit # ๋ก๊ทธ์์ ํ ๋ค์ ๋ก๊ทธ์ธ
7. ์ํ ์คํ
docker run hello-world
๐ ์ค์น ํ๋ฆ (Mermaid)

โ ํ์ ํ์ฉ
- ํ์ ๋ชจ๋ ๊ฐ์ ๊ฐ๋ฐํ๊ฒฝ ๊ณต์
- ํ ์คํธ/์ด์ ์๋ฒ์ ๋น ๋ฅธ ๋ฐฐํฌ
- CI/CD ์๋ํ (GitHub, Jenkins์ ์ฐ๋)
- ํด๋ผ์ฐ๋ ์ฐ๊ณ (AWS ECS/EKS, GCP GKE ๋ฑ)
๋ฐ์ํ
'Cloud Engineering Bootcamp > 6. Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
04. ๋์ปค(Docker) ๊ธฐ์ด ๋ช ๋ น์ด ์ฌ์ฉํ๊ธฐ (0) | 2025.09.18 |
---|---|
02. ๋์ปค(Docker) ์ฌ์ฉํ๊ธฐ (0) | 2025.09.18 |
01. ๋์ปค(Docker) ์ดํดํ๊ธฐ (0) | 2025.09.17 |