์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spark Partitioning
- colab
- Speculative Execution
- AQE
- mysql
- etl
- Salting
- KDT_TIL
- Kafka
- Docker
- topic
- off heap memory
- Spark SQL
- CI/CD
- Spark Caching
- k8s
- Spark ์ค์ต
- redshift
- Spark
- aws
- ๋น ๋ฐ์ดํฐ
- disk spill
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
- backfill
- Airflow
- spark executor memory
- DataFrame Hint
- Kubernetes
- Dag
- SQL
- Today
- Total
JUST DO IT!
Docker Volume ์์๋ณด๊ณ ๊ฐ๋จํ ์ค์ตํด๋ณด๊ธฐ - TIL230614 ๋ณธ๋ฌธ
๐ KDT WEEK 11 DAY 3 TIL
- Docker Volume
๐ฅ Docker Volume
Docker Container๊ฐ ์คํ๋์๋ค๊ฐ ์ค๋จ๋๋ ๊ฒ์ ๋๋นํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํด๋๋ ๊ธฐ๋ฅ
Docker Container๋ด์ ๊ฐ์ ํ์ผ ์์คํ ๊ณผ ํธ์คํธ ์์คํ ์ ํ์ผ ์์คํ ์ ๋งตํ(๋ง์ดํธ)ํ์ฌ ์ฌ์ฉํ๋ค.
๋ค์ ๋งํด, Container์ Host ์์คํ ์ด ํน์ ํด๋๋ฅผ ๊ณต์ ํ์ฌ Container๊ฐ ์ฌ๋ผ์ง๋๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๋จ๊ฒํ๋ ๊ฒ์ด๋ค.
โ๏ธ ๋ฐฉ๋ฒ
- docker run -v /home/USER/logs:/var/lib/airflow/logs
- ํธ์คํธ ํ์ผ ์์คํ Path : Container ํ์ผ ์์คํ Path ๋ฐฉ์์ผ๋ก ์ง์ ๋ง์ดํธ
- docker run -v /var/lib/mysql/data
- ์๊ตฌ์ ์ผ๋ก ์ ์งํ๊ณ ์ถ์ Container ํ์ผ Path๋ง ๋ช ์ํ๊ณ , ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋๋ก ๋ช ๋ นํ๋ค.
- ์ด ๊ฒฝ์ฐ, ์ ์ง๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์ ๋ํฌํ ID๋ฅผ ๋ฐ์ ํ์ฉํ ์ ์๋ค.
- docker run -v name:/var/lib/mysql/data
- 2๋ฒ์ ๋ฐฉ๋ฒ์์ ๋งค๋ฒ ์ ๋ํฌํ ID๋ฅผ ์ฌ์ฉํ๊ธฐ ๋ณด๋ค ์ฌ๊ธฐ์ name์ ๋ง๋ค์ด ID ๋์ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
๐ docker volume ๋ช ๋ น์ด
- docker volume ls : docker volume๋ค ํ์ธํ๊ธฐ
- docker volume rm : ํน์ volume ์ญ์
- docker volume prune : ์ฌ์ฉ๋์ง ์๋ volume ์ญ์
- docker volume inspect : ํน์ volume ์์ธํ ๋ณด๊ธฐ
๐ฆ Docker Volume ์ค์ต
docker์์ nginx ๋ค์ด๋ก๋
nginx : ์น ํธ๋ํฝ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ก๋๋ฐธ๋ฐ์
docker run -d --name=nginx -p 8081:80 nginx
ํธ์คํธ์ 8081 ํฌํธ์ docker์ 80 ํฌํธ๋ฅผ ํฌํธํฌ์๋ฉํ๊ณ , ์คํผ์ ์ด๋ฏธ์ง์ธ nginx๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์์จ๋ค.
์ฌ์ฉํ๊ธฐ ํธํ๋๋ก ์ด๋ฆ๋ nginx๋ก ์ง์ ํด์ฃผ์๋ค.
๋ช ๋ น์ด๋ฅผ ์คํํ ๋ค localhost:8081๋ก ์ ์ํด๋ณด๋ฉด ๋ค์ ํ๋ฉด์ ๋ณผ ์ ์๋ค.
๋ค์ ํฐ๋ฏธ๋๋ก ๋์์์, nignx์ ๋ฃจํธ ์ ์ ๋ก(nano ๋ค์ด๋ก๋๋ฅผ ์ํด) ์ ์ ์์ ์ํด ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
docker exec -it --user=root nginx sh
๊ทธ๋ฆฌ๊ณ ์ฐจ๋ก๋๋ก ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ nano(ํธ์งํด)์ ๋ค์ด๋ก๋ ๋ฐ๋๋ค.
๊ทธ๋ฆฌ๊ณ nano๋ฅผ ์ฌ์ฉํ์ฌ ์๊น ๋ก์ปฌํธ์คํธ๋ก ์ ์ํ์ ๋ ๋์จ ํ๋ฉด์ ํธ์งํด๋ณด์.
apt update
apt install nano
nano /usr/share/nginx/html/index.html
๋๋ title ํ๊ทธ์ Welcome to nginx! ๋ถ๋ถ์ Welcome to Docker Volume! ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ ctrl+x > y ๋ฅผ ์ ๋ ฅํ์ฌ ์ธ์ด๋ธํ์๋ค.
์์ ์ด ์๋ฃ๋ ํ exit๋ฅผ ์ ๋ ฅํ์ฌ ์์์ ๋๊ฐ ๋ค, ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฐจ๋ก๋ก ์ ๋ ฅํ์ฌ docker container๋ฅผ ์ฌ์์ํด๋ณด์.
# nginx ๋ฉ์ถ๊ณ ์ญ์
docker stop nginx
docker rm nginx
# ์ฌ์คํ
docker run -d --name=nginx -p 8081:80 nginx
docker exec -it --user=root nginx sh
# ์ ์ง์
ํ, ์๊น ์์ ํ๋ ํ์ผ ํ์ธ
cat /usr/share/nginx/html/index.html
์๊น ํธ์งํ๊ณ ์ ์ฅํ๋ index.html์ ๋ค์ ํ์ธํด๋ณด๋, ๋ค์ ์๋๋๋ก ๋์์จ๊ฑธ ํ์ธํ ์ ์๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ ์ ์ง๋ฅผ ์ํด Docker Volume์ด ํ์ํ๋ค.
์ผ๋จ Docker Volume์ ์ฌ์ฉํ๊ธฐ ์ํด html ํด๋๋ฅผ docker run nginx๊ฐ ์คํ๋ ํด๋์ ๋ง๋ค์๋ค.
๋๋ html ํด๋ ์์ index.html๊ณผ test.html๋ฅผ ์์ฑํด์ ๋ฃ์๋ค.
๊ฐ๊ฐ์ ๋ด์ฉ์ ์๋์ฒ๋ผ ๊ฐ๋จํ๊ฒ ์์ฑํด๋์๋ค.
<h1>Hello from Docker Volume!!</h1> <!-- index.html -->
<h1> Testing... </h1> <!-- test.html -->
๊ทธ๋ฆฌ๊ณ html์ด ์ ์ฅ๋ ํด๋์ ๊ฒฝ๋ก๋ฅผ ํธ์คํธ ํ์ผ ์์คํ ๊ฒฝ๋ก๋ก ํ์ฉํ๊ธฐ ์ํด ๋ณต์ฌํด๋๋ค.
์๊น ์ฌ์ฉํ๋ nginx ์ปจํ ์ด๋๋ฅผ ์ข ๋ฃํ๊ณ , ์ด๋ฒ์๋ Docker Volume ์ต์ ์ ๋ถ์ฌ docker run์ ํด๋ณด์.
-v ์ต์ ์ ๋ฃ๊ณ ์๊น์ pwd ๊ฒฝ๋ก๋ฅผ ํธ์คํธ ์์คํ ํ์ผ ๊ฒฝ๋ก๋ก, ์ ์์์ index.html ํ์ผ์ ํธ์งํ๋ ๊ฒฝ๋ก๋ฅผ Container ์์คํ ํ์ผ ๊ฒฝ๋ก๋ก ๋๊ณ ๋ง์ดํธํ๋ค.
# ์๊น ์ผ๋จ๋ nginx ์ปจํ
์ด๋ ์ข
๋ฃ
docker stop nginx
docker rm nginx
# -v ์ต์
์ ์ฌ์ฉํ์ฌ ๋ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ๋ง์ดํธํ๋ค.
# ํธ์คํธ ์์คํ
ํ์ผ ๊ฒฝ๋ก : Container ์์คํ
ํ์ผ ๊ฒฝ๋ก
docker run -p 8081:80 --name nginx -v C:\Users\USER\kdt\nginx\html:/usr/share/nginx/html nginx
์คํ์ด ์๋ฃ๋๋ฉด localhost:8081๋ก ์ ์ํด๋ณด์.
์ด๋ฒ์๋ ์์ด ์๋ ๋ฐ์์ ์ง์ test.html์ ์ง์ ์์ ํ ๋ค, localhost:8081/test.html ์ ํ์ธํด๋ณด๋ฉด..
๊ทธ๋ฆฌ๊ณ ์ด๋ฒ์๋ ์๊น์ฒ๋ผ docker container๊ฐ ์ญ์ ๋ ํ์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋์ง ํ์ธํด๋ณด์.
docker stop nginx
docker rm nginx
docker run -p 8081:80 --name nginx -v C:\Users\USER\kdt\nginx\html:/usr/share/nginx/html nginx
๊ทธ๋ฆฌ๊ณ ๋ก์ปฌํธ์คํธ์ ์ ์ํด๋ ์์ ๋ ๋ด์ฉ์ด ์ ์ง๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.