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 exec ๋ช ๋ น์ด
-
์ด๋ฏธ ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ด์์ ์๋ก์ด ๋ช ๋ น์ ์คํํ๊ธฐ ์ํด ์ฌ์ฉ
-
ํฐ๋ฏธ๋ ์ธ์ ์ ์ฐ๊ฒฐํ์ง ์๊ณ , ์๋ก์ด ๋ช ๋ น์ ์คํํ ๊ฒฐ๊ณผ๋ง์ ๋ณด์ฌ์ค
-
-it ์ต์ ์ ์ฌ์ฉํ์ฌ ์ธํฐ๋ํฐ๋ธ ๋ชจ๋์ ๊ฐ์ ํฐ๋ฏธ๋์ ์ฌ์ฉํ ์ ์์
-
์ปจํ ์ด๋ ํฐ๋ฏธ๋๊ณผ๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ฉฐ, ๋ช ๋ น ์คํ ํ์๋ ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋์ง ์์
docker exec -it ์ปจํ
์ด๋_ID ๋๋ ์ปจํ
์ด๋_์ด๋ฆ /bin/bash
docker attach ๋ช ๋ น์ด
- ์ด๋ฏธ ์คํ ์ค์ธ ์ปจํ ์ด๋์ ํฐ๋ฏธ๋์ ํ์ฌ ํฐ๋ฏธ๋ ์ธ์ ์ ์ฐ๊ฒฐ
- ์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋๊ณ ์๋ ํ๋ก์ธ์ค์ ํ์ค ์ ๋ ฅ(stdin), ์ถ๋ ฅ(stdout), ์๋ฌ(stderr)๋ฅผ ํ์ฌ ํฐ๋ฏธ๋์ ์ฐ๊ฒฐ
- ์ปจํ ์ด๋์ ํฐ๋ฏธ๋์ ์ข ์๋๋ฉฐ, ์ปจํ ์ด๋ ํฐ๋ฏธ๋์์ ๋์ค๋ฉด ํ์ฌ ํฐ๋ฏธ๋ ์ธ์ ์ด ์ข ๋ฃ๋จ
docker attach ์ปจํ
์ด๋_ID ๋๋ ์ปจํ
์ด๋_์ด๋ฆ
์ด๋ ๊ฒ ์ปจํ ์ด๋ ๋ด๋ถ๋ก ์ ์ํ๋ฉด, ์ปจํ ์ด๋ ๋ด์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ฑฐ๋ ๋๋ฒ๊น ์ ์ํํ ์ ์๋ค.
docker attach & exec ์ฌ์ฉ ์์
๋ํํ ์ ํ๋ก์ธ์ค (ex OS)
- ์ปจํ ์ด๋ ๋ด๋ถ์ 'bash'์ ๊ฐ์ ๋ํํ ์ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ด๋ผ๋ฉด docker attach๋ก ํด๋น ์์ ์ ์ ๊ฐ๋ฅ
- docker ps๋ก ํ์ธํ์ ๋, ubuntu์ COMMAND๊ฐ "bash" ์ด๊ธฐ์ docker attach๋ก ๋ฐ๋ก ์ปจํ ์ด๋์ ์ ์ ๊ฐ๋ฅ
ํ๋ก์ธ์ค๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ ๊ฒฝ์ฐ (ex ์น์๋ฒ)
- ์ ์ํ๋ ค๋ ํ๋ก์ธ์ค๊ฐ ๋ํํ ์์ด ์๋ ์น์๋ฒ์ฒ๋ผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ ๊ฒฝ์ฐ docker attach๋ก๋ ์ํธ์์ฉ์ด ๋ถ๊ฐ๋ฅํ ์ ์์
→ ๋ฐ๋ผ์ ์ ์ํ๊ณ ์ ํ๋ ํ๋ก์ธ์ค์ ํน์ฑ๊ณผ ํ์ํ ์์ ์ ๋ฐ๋ผ docker attach์ docker exec ์ค ์ ํํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.