์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- JavaScript
- Java
- ๊ฐ์ฒด์งํฅ
- ์ง์ฅ์ธ์ ์ฌ
- ์์
- ํค๋ํผ์คํธ
- ํด๋ฆฐ์ฝ๋
- ์ฑ ๋๋
- ์ฑ์๋ง์ง
- ์ค๋ธ์ ํธ
- ์ฃผ๋์ด๊ฐ๋ฐ์
- ๋์์ธํจํด
- ์ง์ฅ์ธ
- ๋ ์
- ์ฑ์์ง์ฅ์ธ
- ์ฑ์ํซํ
- ๊ฐ๋ฐ์
- ์ฑ์๋ณผ๊ฑฐ๋ฆฌ
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- ๊นจ๋ํ์ฝ๋
- ํค๋ํผ์คํธ๋์์ธํจํด
- docker
- ์ฑ์
- DesignPattern
- IntelliJ
- JAVA๊ฐ๋ฐ์
- ์ฝ๋ฉ
- ์ฑ ์ฝ๊ธฐ
- Linux
- ๋ ์์ผ์ง
- Today
- Total
๋ชฉ๋กdocker (11)
๋ญ๋ฐ๊ฐ๋ฐ

4์ผ์ฐจ. ์ 1๋ถ. ๋์ ํธ ์ 1์ฅ. ์์คํ ๊ณผ ์ธํ๋ผ ๊ธฐ์ด ์ง์ 1.1. ์์คํ ๊ธฐ๋ฐ์ ๊ธฐ์ด ์ง์ 1.2. ํ๋์จ์ด์ ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ 1.3. OS(Linux) ๊ธฐ์ด ์ง์ 1.4. ๋ฏธ๋ค์จ์ด ๊ธฐ์ด์ง์ 1.5. ์ธํ๋ผ ๊ตฌ์ฑ ๊ด๋ฆฌ ๊ธฐ์ด ์ง์ 1.6. ์ฝ๋๋ฅผ ์ฌ์ฉํ ๊ตฌ์ฑ ๊ด๋ฆฌ 1.7. ๋ํ์ ์ธ ์ธํ๋ผ ๊ตฌ์ฑ ๊ด๋ฆฌ ํด 1.8. ์ง์์ ์ธํฐ๊ทธ๋ ์ด์ / ์ง์์ ๋๋ฆฌ๋ฒ๋ฆฌ - ํ ์คํธ๊ฐ ๋๋ ์์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํ ํ๊ฒฝ์ผ๋ก ์ ๊ณตํ๊ธฐ ์ํ ๊ธฐ์ด ์ง์ ์ค๋ช 1.8.1. ์ง์์ ์ธํฐ๊ทธ๋ ์ด์ (Continuous Integration) - ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋๋ฅผ ์ถ๊ฐ ๋ฐ ์์ ํ ๋๋ง๋ค ํ ์คํธ๋ฅผ ์คํํ๊ณ ํ์คํ๊ฒ ์๋ํ๋ ์ฝ๋๋ฅผ ์ ์งํ๋ ๋ฐฉ๋ฒ - ์ํํธ์จ์ด์ ํ์ง ํฅ์์ ๋ชฉ์ ์ผ๋ก ๊ณ ์๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค - ๋จ์ ํ ์คํธ : ์ํํธ์จ..

3์ผ์ฐจ. ์ 1๋ถ. ๋์ ํธ ์ 1์ฅ. ์์คํ ๊ณผ ์ธํ๋ผ ๊ธฐ์ด ์ง์ - ์์คํ ๊ธฐ๋ฐ : ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋์ํค๊ธฐ ์ํด ํ์ํ ํ๋์จ์ด๋ OS/๋ฏธ๋ค์จ์ด ๋ฑ๊ณผ ๊ฐ์ ์ธํ๋ผ. - ์ด ์ฑ ์ ๋ฉ์ธ ์ฃผ์ : Docker : ์ ํ๋ฆฌ์ผ์ด์ ์คํ ํ๊ฒฝ์ ์์ฑ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ซํผ - ์ 1์ฅ์์๋ Docker๋ฅผ ๋์ ํ๊ธฐ์ ์์ ์์๋ฌ์ผ ํ ์์คํ ๊ธฐ๋ฐ์ ๊ฐ์์ ์์คํ ๊ธฐ๋ฐ์ ๋ค๋ฃจ๊ธฐ ์ํด ํ์ํ ์ธํ๋ผ ๊ธฐ์ ์ ํต์ฌ ๋ด์ฉ์ ๋ํด ์ค๋ช ํ๋ค. 1.1. ์์คํ ๊ธฐ๋ฐ์ ๊ธฐ์ด ์ง์ 1.2. ํ๋์จ์ด์ ๋คํธ์ํฌ ๊ธฐ์ด ์ง์ 1.3. OS(Linux) ๊ธฐ์ด ์ง์ - OS์ ์ญํ : ํ๋์จ์ด๋ ๋คํธ์ํฌ ์ ์ด - Docker๋ Linux์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Linux์ ๊ธฐ์ด์ง์์ Docker๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์์ด์ ํ์๋ค. 1.3.1. ..
docker container ์ด๋ฆ์ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋. ## ์์ docker rename [์ด์ container ์ด๋ฆ] [์ container ์ด๋ฆ] ## ์ ์ฉ docker rename zen_bouman dtu-admin-backend

docker-compose ์ค์ ์ด์ docker-compose๋ก ๋ง๋ค์ด์ง ์ปจํ ์ด๋๋ค์ ํ๋๋ก ๋ฌถ์ด์ ์คํํด๋ณด์. PostgreSQL์ ์ด๋ฏธ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋์ dockerfile์ ํ์์๋ค. ํ๋ก์ ํธ ํด๋์ docker-compose.yml ํ์ผ์ ์์ฑํ๋ค. version: "3"# docker-compose ๋ฒ์ services:# ์๋น์ค ๋ชฉ๋ก frontend:# ์๋น์ค ์ด๋ฆ build:# ์ด๋ฏธ์ง Build ์ต์ context: ./frontend# Build๋ ํ๋ก์ ํธ๊ฐ ์์นํ ๊ฒฝ๋ก dockerfile: dockerfile# ํ๋ก์ ํธ ํด๋์ dockerfile ์ด๋ฆ container_name: frontend# ์ปจํ ์ด๋ ์ด๋ฆ ports:# host์ ๊ณต์ ํ ํฌํธ ๋ชฉ..

์ ์ฌ์ง์ ๋ค๋ชจ๋ ๋ฐ์ค๊ฐ ๋์ปค ํธ์คํธ์ด๋ค. (๋์ปค๊ฐ ์ค์น๋์ด ์๋ ํธ์คํธ ์์คํ ์ฌ๊ธฐ์ docker daemon์ startํ๊ฒ ๋๋ฉด docker0๋ผ๊ณ ํ๋ network interface๊ฐ ์๊ธด๋ค. docker0๋ผ๊ณ ํ๋ interface๋ virtual ethernet bridge(๋ธ๋ฆฟ์ง ๋คํธ์ํฌ๋ฅผ ์ง์ํด์ฃผ๋ ๊ฐ์ ๋คํธ์ํฌ)์ด๋ค. ์ปจํ ์ด๋์์ ๊ฐ์ง๊ณ ์๋ ip์ ์ค์ ๋์ปค ํธ์คํธ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋คํธ์ํฌ๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ์ฐ๊ฒฐ๊ณ ๋ฆฌ ์ญํ ์ ํด์ค๋ค. ๋ธ๋ฆฟ์ง ๋คํธ์ํฌ๋ฅผ ์ง์ํด์ฃผ๊ธฐ ์ํด์ docker0(๋์ปค ์ ๋ก)๋ ๋ด๋ถ์ ์ผ๋ก network advance translation์ด๋ผ๊ณ ํ๋ nat ์๋น์ค์ ํฌํธํฌ์๋ฉ ๊ธฐ๋ฅ์ ์ง์ํด์ฃผ๊ณ ์๋ค. docker0 - virtual ethernet bridge - L2 ํต์ ๊ธฐ๋ฐ..

์ฟ ๋ฒ๋คํฐ์ค(Kubernetes)๋? -> ์ปจํ ์ด๋๋ฅผ ๋์ปค ํ๋ซํผ์ ์ฌ๋ ค์ ๊ด๋ฆฌ+์ด์+ํด๋ฌ์คํฐ ์๋น์ค๋ฅผ ์ง์ํด ์ฃผ๋ ๊ฒ. = Container Orchestration ์ปจํ ์ด๋๋? ์ ์ฌ์ง์ app.js ํ๋ก๊ทธ๋จ์ด ์คํํ๋ ค๋ฉด nodejs๊ฐ ํ์ํ๋ค. node ๋ช ๋ น์ด์ app.js ์์ค ํ์ผ์ ๋ฃ์ด์ฃผ๋ฉด ์คํ๋๋ค. ์ด๊ฑธ ๊ฐ์ง๊ณ ์ปจํ ์ด๋๋ฅผ ๋ง๋๋ ค๋ฉด, Docker ํ์ผ์ FROM node:12 COPY app.js /app.js ENTRYPOINT ["node", "app.js"] node:12๋ ๋ฒ์ ์ ๋ํ๋ด๋๋ฐ, node๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ app.js๋ฅผ ์ปจํ ์ด๋์ ๋ณต์ฌํ๋ฉด -> node๋ฒ์ 12์ ํ๊ฒฝ์ ๋ง๋ค๊ณ app.js๋ฅผ ๋ฃ์ ๊ตฌ์กฐ. ๋๊ตฐ๊ฐ๊ฐ ์ปจํ ์ด๋๋ฅผ ๋์์ํฌ ๋ช ๋ ์ด?๋ node app.js ์ ์ปจํ ์ด๋๋ฅผ ๋..

* Dockerfile์ด๋? ๋์ปค ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์๋ ์ปจํ ์ด๋ ์์ฑ, ์ปจํ ์ด๋ ์์์ OS์ค์ , ๋ฏธ๋ค์จ์ด ์ค์น, ํ๋ผ๋ฏธํฐ ์ค์ ๋ฑ์ ๋ชจ๋ ์ง์ ์ํํด์ผ ํ๋ค. ์ด๋ฌํ ์ผ๋ จ์ ์์ ์ ์๋์ผ๋ก ์ํํ๋๋ก ์คํฌ๋ฆฝํธ๋ก ๋ง๋ ๊ฒ์ด dockerfile์ด๋ค. ์ด๋ฌํ Dockerfile์ ํ์ํ ํ๊ฒฝ์ค์ ์ด ๋ชจ๋ ์ธํ ๋ image๋ฅผ ๋ง๋๋ ๋ฐ ๋ชฉ์ ์ด ์์ผ๋ฉฐ, ๋ํ ์๋ํ๋ก์จ ์ฌ์ฉํ ์ ์๊ณ ์คํฌ๋ฆฝํธ์ด๋ฏ๋ก ๋ณ๊ฒฝํด์ ์ฌ์ฌ์ฉํ ์๋ ์๋ค.์ด๋ฌํ ๋์ปคํ์ผ์ ๋ด์ฉ์ ์๋์ ๊ฐ์ ์ ๋ณด๋ค์ ๊ธฐ์ ํ๋ค. 1. ๋ฒ ์ด์ค๊ฐ ๋ ๋์ปค ์ด๋ฏธ์ง 2. ๋์ปค ์ปจํ ์ด๋ ์์์ ์ํํ ๋ช ๋ น, ์กฐ์ ๋ฑ 3. ํ๊ฒฝ๋ณ์ ๋ฑ์ ์ค์ 4. ๋์ปค ์ปจํ ์ด๋ ์์์ ์๋์ํฌ ๋ฐ๋ชฌ ์คํ * Dockerfile ๊ตฌ๋ฌธ ๊ธฐ๋ณธ Dockerfile์ ํ ์คํธ ํ์์ด..

Volumes : ๋์คํฌ์์ ์์์ ํ ๋นํด ์ฃผ๋.. Container : ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ image Image : ์๋ฐ์ ํด๋์ค์ฒ๋ผ ์ฐ์ด๋ธ ํ ๊ฐ์๊ฑฐ *dockerfile์ด ์๋ ๊ณ์ ์์ ์คํํด์ผํจ ex) dockerfile์ ํ์ฌ ์ฐ๋ฆฌ ์๋ฒ์ ์ฌ๋ ธ์ผ๋ฉด weserver@weserver ์ฌ๊ธฐ์ ์คํ ๋ด๊ฐ ์์ ์ ํ๋ $ docker pull mariadb ์ด๊ฑฐ๋ docker hub์์ public์ผ๋ก ๊ณต๊ฐ๋ image๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์. ์ง๊ธ ํ๋๊ฑด ๊ฐ๋ฐ์๋ฒ์ ์ฌ๋ผ์จ dockerfile์ ์ปจํ ์ด๋์ ์ฌ๋ฆฌ๊ธฐ. ์กฐ๊ฑด1. image์ container ์ด๋ฆ์ dtu-***-backend๋ผ๊ณ ํ ๊ฒ. ๋๋ ๋จผ์ ์๋์ฐ์์ ๋ฆฌ๋ ์ค ์ฒ๋ผ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ WSL2 Ubuntu๋ฅผ ํ์ฉํ์ฌ docker des..

์ด๋์๊ฐ ์์ฑํ image ๋ชฉ๋ก์ ๋ณด๋ ๋๊ฐ ์์ฑํ๋์ง๋ ๋ชจ๋ฅด๋ : ์ด๋ฏธ์ง๋ค์ด ์ฆ์๋์ด์์๋ค. image๊ฐ ๋ญ๋ฐ? : ์ด๋ฏธ์ง๋ ์ด๋ค ์ฝ๋์์๋ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๋ ์ด๋ฏธ์ง์ด๋ค. docker build๋ฅผ ํ๊ฑฐ๋ ์ด๋ฏธ์ง๋ฅผ pullํ์ ๋ ์๊ฒจ๋๋ค. ํ์ฌ ๋์ปค ์ด๋ฏธ์ง์ ์ํฉ์ ๋ณด๋ฉด IMAGE ID๊ฐ 7184b27319b4 ์ด๊ณ ์ด๋ฆ์ด test:0.1 ์ธ ์ด๋ฏธ์ง๊ฐ ์๋ค. ์ด ์ด๋ฏธ์ง์ Dockerfile์ ์ผ๋ถ ์์ ํ๊ณ , sudo docker build --tag test:0.1 ./ ์ด๋ฏธ์ง๋ฅผ ์ฌ์์ฑ ํด์ฃผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์๋ test:0.1์ ID์๋ 7184b27319b4 ๊ฐ ์ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ ๋ณผ ์๊ฐ ์๋ค. ์ฆ, ๋น๋ ์ด์ ์๋ ID๊ฐ 7184b27319b4์ธ ์ด๋ฏธ์ง๋ฅผ ์ฐ๋ฆฌ๊ฐ test๋ผ๋ ์ด๋ฆ์ผ๋ก ์ฐธ์กฐ..

๋์ปค ์ด๋ฏธ์ง ์ญ์ ์ dependent child images๋ก ์ธํ ์ค๋ฅ๊ฐ ๋ฌ๋ค...... ๋์ปค ์ด๋ฏธ์ง ์ญ์ ํ๋ ๋ช ๋ น์ด $ docker rmi [์ด๋ฏธ์ง id] ๋ฅผ ํ๋๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฌ๋ค. ์๋ฌ ๋ฉ์ธ์ง : Error response from daemon: conflict: unable to delete a5538e62c9c1 (cannot be forced) - image has dependent child images ์์ธ : Image์ ID๋ง์ ํน์ ํ๊ฒ ๋๋ฉด, ๋ณด์ด์ง ์์ง๋ง ์ด๋ฏธ ๋ค๋ฅธ ์ด๋ฏธ์ง์ ์ํด ์ฌ์ฉ๋๊ณ ์๋ ์ฌ๋ฌ ํ๊ทธ๋ค ๋ํ ๊ฐ์ด ์ ํ ๋ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ผ๋๋ฐ,, ํด๊ฒฐ : Image์ ID๊ฐ ์๋ Image Name:Tag๋ก ํน์ ํ ์ ์๋๋ก ํ๋ค. $ docker rmi Imag..