03.2.Dockers - yojulab/learn_DevOps GitHub Wiki
- refer Doc : google Doc by Me
- refer with vscode : https://doc.skill.or.kr/remote-containers-visual-studio-code-feat.dockerfile
https://gayuna.github.io/docker/docker/
๋์ ์ด์ :- ํ๊ฒฝ ์ผ๊ด์ฑ: ๊ฐ๋ฐ, ํ ์คํธ, ์ด์ ํ๊ฒฝ์ด ๋์ผํ๊ฒ ์ ์ง๋จ.
- ๋ฐฐํฌ ์๋ํ: ์ปจํ ์ด๋๋ฅผ ํตํด ๋น ๋ฅด๊ณ ์ผ๊ด๋ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํจ.
- ํ์ฅ์ฑ: ์ํ์ ํ์ฅ์ด ์ฌ์ ๋์ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํจ.
- ํจ์จ์ ๋ฆฌ์์ค ์ฌ์ฉ: ๊ฐ์ ๋จธ์ ๋ณด๋ค ์ ์ ์์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ๊ฐ๋ฅ.
- CI/CD ํตํฉ: DevOps ํ์ดํ๋ผ์ธ์์ ๋น๋, ํ ์คํธ, ๋ฐฐํฌ๊ฐ ์๋ํ๋จ.
Docker ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด
0. ์ด๋ฏธ์ง Pull
docker image pull openjdk:17-jdk-bullseye
1. ์ปจํ ์ด๋ ์ค์น (์คํ)
docker run -d --name my_container_name -p 8080:80 nginx
docker run
: ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๋ช ๋ น์ด.-d
: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ (detached mode).--name my_container_name
: ์ปจํ ์ด๋ ์ด๋ฆ ์ง์ .-p 8080:80
: ํธ์คํธ์ ํฌํธ 8080์ ์ปจํ ์ด๋์ ํฌํธ 80์ ์ฐ๊ฒฐ.nginx
: nginx ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋ ์คํ.
2. ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
docker ps
- ํ์ฌ ์คํ ์ค์ธ ์ปจํ ์ด๋ ๋ชฉ๋ก์ ํ์ธ.
docker ps -a
- ์ค์ง๋ ์ปจํ ์ด๋๊น์ง ํฌํจํ ๋ชจ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก์ ํ์ธ.
3. ์ปจํ ์ด๋ ์ ์
docker exec -it my_container_name /bin/bash
docker exec
: ์คํ ์ค์ธ ์ปจํ ์ด๋์ ๋ช ๋ น์ ๋ด๋ฆฌ๊ฑฐ๋ ์ ์ํ๋ ๋ช ๋ น์ด.-it
: ์ธํฐ๋ํฐ๋ธ ๋ชจ๋๋ก ํฐ๋ฏธ๋์ ์ฝ๋๋ค.my_container_name
: ์ ์ํ ์ปจํ ์ด๋ ์ด๋ฆ./bin/bash
: Bash ์์ ์คํํ์ฌ ํฐ๋ฏธ๋๋ก ์ ์ํฉ๋๋ค.
4. ์ปจํ ์ด๋ ์ค์ง
docker stop my_container_name
docker stop
: ์คํ ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ค์งํ๋ ๋ช ๋ น์ด.
5. ์ปจํ ์ด๋ ์ ๊ฑฐ
docker rm my_container_name
docker rm
: ์ค์ง๋ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด.
์ค์ง๋์ง ์์ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๊ฐ์ ๋ก ์ญ์ :
docker rm -f my_container_name
6. ์ด๋ฏธ์ง ์ ๊ฑฐ
์ปจํ ์ด๋์ ์ฌ์ฉ๋ ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๋ ค๋ฉด, ๋จผ์ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ ํ ์๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉ.
docker rmi nginx
docker rmi
: ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด.