π Dockerλ?
컨ν
μ΄λ κΈ°λ° κ°μν νλ«νΌμΌλ‘, “ν λ² λ§λ€λ©΄ μ΄λμλ μ€ν κ°λ₯” ν νκ²½μ μ 곡ν©λλ€.
β
μ ν΅μ κ°μν(VM)λ³΄λ€ κ²½λνλμ΄ λΉ λ₯΄κ² μ€ν
β
μ ν리μΌμ΄μ
λ°°ν¬ λ° κ΄λ¦¬ κ°μν
β
κ°λ°/ν
μ€νΈ/μ΄μ νκ²½ μΌκ΄μ± 보μ₯
βοΈ μ€μΉ μ μ€λΉμ¬ν
- Ubuntu λ²μ νμΈ (20.04 LTS μ΄μ κΆμ₯)
lsb_release -a
- μ μ₯μ μ
λ°μ΄νΈ
sudo apt update && sudo apt upgrade -y
π Docker μ€μΉ λ¨κ³λ³ κ°μ΄λ
1οΈβ£ μ΄μ Docker μ κ±° (μ ν)
sudo apt remove docker docker-engine docker.io containerd runc
2οΈβ£ νμ ν¨ν€μ§ μ€μΉ
sudo apt install -y ca-certificates curl gnupg lsb-release
3οΈβ£ Docker 곡μ GPG ν€ μΆκ° π
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4οΈβ£ μ μ₯μ μ€μ π¦
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5οΈβ£ Docker μμ§ μ€μΉ
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
6οΈβ£ μ€μΉ νμΈ π
sudo docker run hello-world
β μ±κ³΅ μ μΆλ ₯
Hello from Docker!
This message shows your installation appears to be working correctly.
β‘ μ¬μ©μ κΆν μ€μ (λ§€λ² sudo λ°©μ§)
sudo usermod -aG docker $USER # νμ¬ μ¬μ©μ docker κ·Έλ£Ή μΆκ°
newgrp docker # κ·Έλ£Ή μ€μ μ¦μ μ μ©
βοΈ μ¬λΆν
μμ΄ μ μ©: newgrp docker
λλ ν°λ―Έλ μ¬μ€ν
π οΈ μ μ©ν μΆκ° μ€μ
π Docker μλ μμ νμ±ν
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
π Docker μλΉμ€ μ μ΄
sudo systemctl start docker # μμ
sudo systemctl stop docker # μ μ§
sudo systemctl restart docker # μ¬μμ
βΉοΈ λ²μ νμΈ
docker --version # Docker λ²μ
docker compose version # Compose νλ¬κ·ΈμΈ λ²μ
π§ͺ μ€μΉ ν μ€νΈ: Nginx 컨ν μ΄λ μ€ν
docker run -d -p 8080:80 --name my-nginx nginx
- λΈλΌμ°μ μμ
http://localhost:8080
μ μ - “Welcome to nginx!” νμΈ
- 컨ν
μ΄λ μ μ§ λ° μμ :
docker stop my-nginx && docker rm my-nginx
β λ¬Έμ ν΄κ²° ν
- “Permission denied” μ€λ₯:
sudo chmod 666 /var/run/docker.sock # μμ ν΄κ²° (보μ μ£Όμ!)
β μꡬμ ν΄κ²°: μ¬μ©μ μ¬λ‘κ·ΈμΈ λλ
newgrp docker
μ€ν - GPG ν€ μ€λ₯: μ μ₯μ μΆκ° ν
sudo apt update
μ¬μ€ν
β λ§λ¬΄λ¦¬ 체ν¬λ¦¬μ€νΈ
- [ ]
hello-world
컨ν μ΄λ μ€ν μ±κ³΅ - [ ] μ¬μ©μ κΆν κ·Έλ£Ή μΆκ° μλ£
- [ ] Nginx ν μ€νΈ 컨ν μ΄λ μ μ μλ
- [ ] Docker μλΉμ€ μλ μμ νμ±ν
> π’ Dockerμ νμ λ껴보μΈμ!
> κ°λ° νκ²½ μ€μ 5λΆ β νλ‘λμ
λ°°ν¬ 1μ΄ π
> bash > # μμ: MySQL 컨ν
μ΄λ μ€ν > docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw --name my-db mysql:8.0 >
컨ν
μ΄λ μ¬μ μ΄ μμλμμ΅λλ€ π’
Ubuntu + Docker μ‘°ν©μΌλ‘ ν¨μ¨μ μΈ κ°λ° νκ²½μ ꡬμΆν΄ 보μΈμ!