Docker ์ ์ฒด ํฌ์คํ
[Docker] (1) ๋์ปค ๊ฐ๋ ์ค๋ช | ๋์ปค๋ ์ ์ฌ์ฉํ๋ ๊ฑธ๊น?
[Docker] (2) ๋์ปค & ๋์ปค์ปดํฌ์ฆ ๋ค์ด๋ก๋
[Docker] (3) ๋์ปค ํต์ฌ ๊ฐ๋ - ์ด๋ฏธ์ง, ์ปจํ ์ด๋, ๋์ปค ํ๋ธ
[Docker] (5) ๋์ปค run ๋ช ๋ น์ด ์ต์ , ๋์ปค ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋์ง ์๊ฒ ํ๋ ๋ฐฉ๋ฒ
[Docker] (6) ๋์ปค ์ปจํ ์ด๋๋ก ์ ์ํ๊ธฐ - docker exec & docker attach
[Docker] (7) ๋์ปค volume(๋ณผ๋ฅจ) ์ต์ - ์ปจํ ์ด๋ ํด๋์ ํธ์คํธ ํด๋ ์ฐ๊ฒฐํ๊ธฐ
[Docker] (9) Dockerfile(๋์ปคํ์ผ) - ์ค๋งํธํ๊ฒ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๋ฐฉ๋ฒ
[Docker] (10) Dockerfile ๋น๋ ์์ | ENTRYPOINT ์ CMD์ ์ฐจ์ด
[Docker] (11) ๋์ปค ์ปจํ ์ด๋์ vscode ์ฐ๋ํ๊ธฐ | ๋์ปค ์ปจํ ์ด๋์์ ๊ฐ๋ฐ
[Docker] (12) ๊นํ๋ธ๋ก ๋์ปค ์ด๋ฏธ์ง ๊ณต์ ํ๊ธฐ | Packages Container Registry
Docker ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ๋ฐ ์ปจํ ์ด๋ ์คํ
์์ํ๊ธฐ ์ ์ ๋์ปค ์ด๋ฏธ์ง์ ์ปจํ ์ด๋ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ ค ํ๋ค.
- ๋์ปค ์ด๋ฏธ์ง ๊ด๋ จ ๋ช
๋ น์ด
- ์ด๋ฏธ์ง ๊ฒ์: docker search [์ด๋ฏธ์ง_์ด๋ฆ]
- ์ด๋ฏธ์ง ๋ค์ด๋ก๋: docker pull [์ด๋ฏธ์ง_์ด๋ฆ]:[ํ๊ทธ]
- ์ด๋ฏธ์ง ๋ชฉ๋ก ๋ณด๊ธฐ: docker images
- ์ด๋ฏธ์ง ์ญ์ : docker rmi [์ด๋ฏธ์ง_์ด๋ฆ]:[ํ๊ทธ]
- ๋์ปค ์ปจํ
์ด๋ ๊ด๋ จ ๋ช
๋ น์ด
- ์ปจํ
์ด๋ ์์ฑ ๋ฐ ์คํ: docker run [์ด๋ฏธ์ง_์ด๋ฆ]:[ํ๊ทธ]
- '-d' : ์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ
- '-p' : ํธ์คํธ์ ์ปจํ ์ด๋ ๊ฐ์ ํฌํธ ๋งคํ์ ์ค์
- ์ปจํ
์ด๋ ๋ชฉ๋ก ๋ณด๊ธฐ: docker ps
- '-a' : ๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ๋ณด๊ธฐ (stop๋ ๊ฒ๊น์ง)
- ์ปจํ ์ด๋ ์ค์ง: docker stop [์ปจํ ์ด๋_ID] ๋๋ [์ปจํ ์ด๋_์ด๋ฆ]
- ์ปจํ ์ด๋ ์์: docker start [์ปจํ ์ด๋_ID] ๋๋ [์ปจํ ์ด๋_์ด๋ฆ]
- ์ปจํ ์ด๋ ์ฌ์์: docker restart [์ปจํ ์ด๋_ID] ๋๋ [์ปจํ ์ด๋_์ด๋ฆ]
- ์ปจํ ์ด๋ ์ญ์ : docker rm [์ปจํ ์ด๋_ID] ๋๋ [์ปจํ ์ด๋_์ด๋ฆ]
- ์ปจํ ์ด๋ ๋ก๊ทธ ๋ณด๊ธฐ: docker logs [์ปจํ ์ด๋_ID] ๋๋ [์ปจํ ์ด๋_์ด๋ฆ]
- ์ปจํ
์ด๋ ์์ฑ ๋ฐ ์คํ: docker run [์ด๋ฏธ์ง_์ด๋ฆ]:[ํ๊ทธ]
docker pull (๋์ปค ์ด๋ฏธ์ง ๋ค์ด๋ก๋)
docker pull httpd # ๋์ปค ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- ์ํ๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์์ ๊ฒ์ํ๊ณ docker pull ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ด๋ก๋ ํ ์ ์๋ค
- ์์์์๋ 'httpd' ๋ผ๋ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ํด๋ณด๋ ค ํ๋ค. (docker pull httpd)
๋ค์ด๋ก๋ํ ์ด๋ฏธ์ง ํ์ธ
docker images # ์กด์ฌํ๋ ๋์ปค ์ด๋ฏธ์ง ์ ๋ณด ์ถ๋ ฅ
- ๋ค์ด๋ก๋ํ ๋์ปค ์ด๋ฏธ์ง๋ ๋์ปค ๋ฐ์คํฌํ์์ ํ์ธํ ์ ์๊ณ , ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ํ์ธํ ์๋ ์๋ค.
docker run (๋์ปค ์ปจํ ์ด๋ ์์ฑ)
docker run httpd # ๋์ปค ์ด๋ฏธ์ง ์คํ -> ๋์ปค ์ปจํ
์ด๋ ์์ฑ (๋ก๊ทธ ์ถ๋ ฅ O)
docker run -d httpd # ๋์ปค ์ปจํ
์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ฑ (๋ก๊ทธ ์ถ๋ ฅ X)
- ๋ค์ด๋ก๋ํ ๋์ปค ์ด๋ฏธ์ง๋ docker run ์ด๋ผ๋ ๋ช ๋ น์ด๋ก ์คํํด์ผ ์ปจํ ์ด๋๊ฐ ์์ฑ๋๋ค.
- ์ด๋ฏธ์ง๋ ํ๋์ด๋๋ผ๋ ์ปจํ ์ด๋๋ ์ฌ๋ฌ ๊ฐ ์์ฑํ ์๋ ์์ผ๋ฉฐ, ์ปจํ ์ด๋ ์์ฑ์ ์ฌ๋ฌ ์ต์ ์ ์ค ์๋ ์๋ค.
docker ps # ์คํ๋ ๋์ปค ์ปจํ
์ด๋ ์ ๋ณด ์ถ๋ ฅ
docker ps -a # ์กด์ฌํ๋ ๋์ปค ์ปจํ
์ด๋ ์ ๋ณด ์ถ๋ ฅ (stop๋ ํ๋ก์ธ์ค๋ ์ถ๋ ฅ)
- ์์ฑํ ์ปจํ ์ด๋๋ docker ps ๋ช ๋ น์ด๋ก ํ์ธํ ์ ์๋ค.
- ์ปจํ ์ด๋ ID, ์ด๋ฏธ์ง, ํฌํธ ๋๋ฒ ๋ฑ์ ํ์ธํ ์ ์๋ค.
์์ฑ๋ ์ปจํ ์ด๋ ํฌํธ๋ก ์ ์
์์ฑ๋ ํฌํธ๊ฐ 80๋ฒ์ด๋ฏ๋ก localhost:80์ผ๋ก ์ ์์ ์๋ํด ๋ณด์ง๋ง, ์ ์บก์ฒ์ฒ๋ผ ์ฐ๊ฒฐ์ด ๋์ง ์๋๋ค. ์ด์ ๊ฐ ๋ฌด์์ผ๊น?
80๋ฒ ํฌํธ๋ ์์ฑ๋ ์ปจํ ์ด๋์ ๋ด๋ถ ํฌํธ ๋ฒํธ์ด๊ธฐ ๋๋ฌธ์ธ๋ฐ localhost:80์ผ๋ก ์ ์ํ๋ฉด ํธ์คํธ์ 80๋ฒ ํฌํธ๋ก ์ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ฌธ์ ํธ์คํธ์ ํฌํธ์ ์ปจํ ์ด๋์ ํฌํธ๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ํฌํธํฌ์๋ฉ์ด ํ์ํ๋ค!
์ปจํ ์ด๋ stop
ํฌํธํฌ์๋ฉ์ ํ๊ธฐ ์ ์ ์ด์ ์ ์คํํ ์ปจํ ์ด๋๋ฅผ stopํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ณด์.
docker stop {์ข
๋ฃํ ์ปจํ
์ด๋์ ์ปจํ
์ด๋ ID ์ ์ผ๋ถ๋ถ}
์ฐ์ docker ps๋ก ์คํ๋ ์ปจํ ์ด๋์ ์ปจํ ์ด๋ ID๋ฅผ ํ์ธํด์ฃผ๊ณ docker stop์ผ๋ก ํด๋น ์ปจํ ์ด๋๋ฅผ ์คํ์ํจ๋ค. ์ด ๋ ์ปจํ ์ด๋ ID์ ์ ์ผ๋ถ๋ถ๋ง ์ ์ด์ค๋ ๋ช ๋ น ์คํ์ด ๊ฐ๋ฅํ๋ค. (๋ฌผ๋ก ์ค๋ณต๋๋ ID๊ฐ ์์ ๋)
ํฌํธํฌ์๋ฉ์ ์ฌ์ฉํ ์ปจํ ์ด๋ ์์ฑ
์ด์ ํฌํธํฌ์๋ฉ์ ํด์ค ์ํ๋ก ์ปจํ ์ด๋๋ฅผ ์์ฑํด๋ณด์.
docker run -d -p 8080:80 httpd # ํธ์คํธ 8080ํฌํธ์ ์ปจํ
์ด๋ 80 ํฌํธ๋ฅผ ์ฐ๊ฒฐ
docker run ์ดํ์ -d๋ ์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๊ธฐ ์ํ ์ต์ ์ด๊ณ , -p๋ ํฌํธํฌ์๋ฉ์ ์ํ ์ต์ ์ด๋ค. 8080:80 ์ด๋ผ๊ณ ์ ๋ ฅํ๋ฉด ํธ์คํธ 8080ํฌํธ์ ์ปจํ ์ด๋ 80 ํฌํธ๋ฅผ ์ฐ๊ฒฐํ๊ฒ ๋๋ค.
์ดํ docker ps๋ก ํ๋ก์ธ์ค๋ฅผ ํ์ธํ๋ฉด PORTS ๋์ 0.0.0.0:8080 -> 80 ์ผ๋ก ํฌํธํฌ์๋ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ค์ ๋ก localhost:8080 ์ ์ ์ํ๋ฉด ์๋์ ๊ฐ์ ํ์ด์ง๋ฅผ ํ์ธํ ์ ์๋ค.
๋์ปค ๋ฐ์คํฌํ ์ด์ฉ
๋ฌผ๋ก ์ด ๋ชจ๋ ๊ณผ์ ์ GUI๊ฐ ์๋ Docker Desktop์ ์ด์ฉํ ์๋ ์๋ค. ๋์ปค ํ๋ธ์์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๋ฉด ๋์ปค ๋ฐ์คํฌํ์์ ํ์ธ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ํ๋ ์ด๋ฏธ์ง๋ก ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
- Images์์ ์ํ๋ ์ด๋ฏธ์ง์ ์คํ ๋ฒํผ์ ๋๋ฅด๋ฉด docker run ๋ช ๋ น์ด์ ๊ฐ์ ํจ๊ณผ๋ก ์ปจํ ์ด๋๊ฐ ์์ฑ๋จ
- ์ดํ Optional Settings ์ฐฝ์ด ๋ ์ ์ปจํ ์ด๋ ์ด๋ฆ, ํฌํธํฌ์๋ฉ ๋ฑ์ ์ค์ ํ ์ ์๋ค
- Containers ๋ก ๋ค์ด๊ฐ๋ฉด ์คํํ ์ปจํ ์ด๋๋ฅผ ํ์ธํ ์ ์์