2023.08.03 - [Deploy๐/Docker + K8s] - Docker ๋?
๋์ปค ์๊ฐ
์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ํน์ง
์ปจํ ์ด๋๋ ๋ฆฌ๋ ์ค ์ปค๋์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ง๋ค์ด์ง๋ค.
- chroot : ํ์ผ ์์คํ ์ ๊ฒฉ๋ฆฌํ๋ค.
- namespace : ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌํ๋ค.
- cgroup : ํ๋์จ์ด ์์์ ๊ฒฉ๋ฆฌํ๋ค.
ํ๋ก์ธ์ค ๋จ์์ ๊ฒฉ๋ฆฌํ๊ฒฝ์ ๊ฐ์ง๊ฒ ๋๋ค.
Docker GUI
Docker Desktop ์์ ์ ๊ณตํ๋ GUI
Docker CLI
ํฐ๋ฏธ๋ ํ๊ฒฝ์ด๋ ์๋์ฐ cmd๋ก ์คํ ๊ฐ๋ฅํ๋ค.
์คํ ๋ช ๋ น์ด
๋์ปคํ์ผ ์์ฑ
FROM | ์ด๋ฏธ์ง์ ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ ๋์ปค ์ด๋ฏธ์ง |
RUN | ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋, ํน์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํจํค์ง๋ฅผ ์ค์น, ๋น๋, ์ค์ ๋ฑ์ ์ํํ๋ค. |
COPY | ํธ์คํธ ๋จธ์ ์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋์ปค์ด๋ฏธ์ง๋ก ๋ณต์ฌ |
WORKDIR | ์ปจํ ์ด๋ ๋ด์์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์ |
EXPOSE | ๋์ปค ์ปจํ ์ด๋๊ฐ Listeningํ ํฌํธ๋ฅผ ์ง์ |
ENTRYPOINT | ์ปจํ ์ด๋๊ฐ ์์๋๋ ์คํํ ๋ช ๋ น์ด๋ฅผ ์ง์ |
VOLUME | ํธ์คํธ ๋จธ์ ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ปจํ ์ด๋์ ๋ง์ดํธํ ์์๋๋ก ์ค์ |
์ค์ต
1. ์ด๋ฏธ์ง ๋ค์ด๋ฐ๊ธฐ
docker pull [image์ด๋ฆ]:[tag]
docker pull httpd
httpd ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์จ๋ค.
2. ๋์ปค ์ปจํ ์ด๋ ์คํ
docker run -p 8888:80 httpd
๋์ปค ์ปจํ ์ด๋๋ฅผ ์คํ์ํจ๋ค. ๋ก์ปฌ์ 8888 port๋ก container 80 port์ ํผ๋ธ๋ฆฌ์ฑ์ผ๋ก httpd์ด๋ฏธ์ง๋ฅผ ์คํํ๋ค.
3. ๋์ปค ์ด๋ฏธ์ง ๋ณด๊ธฐ
docker images
4. ๋์ปค ์ด๋ฏธ์ง ์ญ์
docker rmi image
5. ๋์ปค ํ์ผ ๋น๋ (๋์ปคํ์ผ -> ์ด๋ฏธ์ง ๋ณํ)
docker build . -> ํ์ฌ ๋๋ ํฐ๋ฆฌ์ dockerfile
docker build [ํ์ผ๋ช
]
ํ์ผ๋ช ์ด DOCKERFILE์ธ ๊ฒฝ์ฐ์๋ ์๋ต ๊ฐ๋ฅ.
6. ๋์ปค ํ์ผ ๋น๋2
docker build -t httpd:last
Dockerfile์ ์ด๋ฏธ์งํ ์ํฌ๋, httpd์ ์ด๋ฏธ์ง๋ช ๊ณผ, last๋ผ๋ tag๋ฅผ ๊ฐ์ง๊ฒ ๋ง๋ ๋ค.
6. attribute
-i : ๋ํํ
-t : ํฐ๋ฏธ๋
-d : detach(๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ)