ํฐ์คํ ๋ฆฌ ๋ทฐ
๐งธ ์ฌ๋ด์์ ์งํํ๋ ๋์ปค ์คํฐ๋๋ฅผ ์ค์ต ๋ฐ ์ ๋ฆฌํ๋ ๋ด์ฉ์ ์ ๋ฆฌํ ํฌ์คํ ์ ๋๋ค.
TAG
latest : ์ต์ ๋ฒ์ ์ผ๋ก ์๋ ์ ๋ฐ์ดํธ
์์ ์ ์ํด์ ๋ฒ์ ์ TAG์ ๋ฌ์์ฃผ๋ ๊ฒ ์ข๋ค.
IMAGE ID
ํด๋น ๋์ปค ์ด๋ฏธ์ง์ ๊ณ ์ ํ ์์ด๋
IMAGE ID๊ฐ ๋์ผํ๋ฐ TAG๋ NAME์ด ๋ค๋ฅผ ์ ์๋ค. ⇒ ๋ณ์นญ
ํ๊ฒฝ์ค์
Docker Compose V2 ⇒ ์ด๋ฒ ์คํฐ๋๋ ์ ๋ค๋ฃฌ๋ค.
Resource
๋์ปค์ ์ผ๋ง๋ ํ ๋นํด์ค์ง ์ ํ ์ ์๋ค.
Docker Engine
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๋์ปค ๋ฐ์คํฌํ์ ์ธ ์ ์๋ค. ⇒ UI๋ก ์ ๊ณต ⇒ ์ด๋ฒ ์คํฐ๋์๋ ์ ๋ค๋ฃฌ๋ค.
DockerHub
docker run hello-world
๋์ปค๊ฐ ๊น๋ฆฐ์ง ์๋์ง ์ ๋ช ๋ น์ด๋ฅผ ํตํด ์ ์ ์๋ค.
๐ค
run์์ ์ด๋ฏธ์ง๋ฅผ ์ด๋ป๊ฒ ์ฐพ์๊น?
๋์ปค๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ฐพ๋ ์์ : ๋ก์ปฌ > docker hub > ๋ณ๋์ ๊ฐ์ธ ๋ฆฌํฌ์งํฐ๋ฆฌ(ECR๋ฑ)
๐ค
์ด๋ฏธ์ง ์ด๋ฆ ์คํ๋ก ์ธํด ์๋ชป๋ ๋์ปค image๋ฅผ runํ์ ๋ ์ ์ฑ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ด ๋ฐ์ ์๋ ์์ง ์์๊น?
๋์ปคํ๋ธ์ ์ฌ๋ผ๊ฐ ๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ํด์ ์ ์ฑ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ด ๋ฐ์ ์ํ์ ๊ฑฑ์ ์ํด๋ ๋๋ค.
// ๋์ปค ์ข
๋ฅ๋ฅผ ๊ฒ์ํ ๋
docker images
hello-world์ IMAGE ID๋ฅผ ์ญ์ ํด๋ณด์.
// ํ๋๋ง ์ง์ธ ๋
docker rmi fe~
๐ค
์ฌ์ฉํ์ง ์๋๋ฐ ์ ์ญ์ ๊ฐ ์๋์ง?
๋์ปค๊ฐ ์ฌ์ฉํ์ง ์๋๋ผ๋ ์ด๊ฑฐ ๋์ค์ ์ธ๊ฑฐ์ผ๋ผ๊ณ ์ธ์ํด์ ์ญ์ ๋ฅผ ์ํ๋ ๊ฒ์ด๋ค.
CONTAINER ID๋ก ์ฃฝ์ฌ์ค์ผ ํ๋ค.
๋ค์ ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋ ID๋ฅผ ์์๋ณด์.
docker ps -a
์ปจํ ์ด๋ ID๋ก ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
docker rm {{์ปจํ
์ด๋ ID}}
์ปจํ ์ด๋๋ฅผ ์ง์ด ๋ค rmi ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ญ์ ํ์.
ํ๊ทธ f๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฐ๊ฑฐ ํ์์์ด ์ญ์ ํ ์ ์๋ค.
docker rmi -f {{์ปจํ
์ด๋ ID}}
์๋๋ IMAGE๋ฅผ ์คํ ํ ์ง์์ค์ผ ํจ.
์ด๋ฏธ์ง๋ฅผ ๊ตฌ์๋ณด์
์ด๋ฏธ์ง๋ฅผ ๊ตฝ๋๋ค๋ ๊ฑด build๋ฅผ ํ๋ค๋ ์๋ฏธ์ด๋ค.
nodejs version 10.24.1์ buildํด๋ณด์.
docker build nodejs -t nodejs:10.24.1
๋ฐ์ ์ด๋ฏธ์ง๋ฅผ runํด๋ณด๋ฉด ์๋ฌด๊ฒ๋ ์๋์จ๋ค.
runํ๊ณ ๋ฐ๋ก ์ฃฝ์ด๋ฒ๋ฆฐ๋ค.
docker run -v ${PWD}:/var/app/:rw -p 8000:8000 -w /var/app -env-file=${PWD}/docker/env/development.env -ti --name admin nodejs:10.24.1 yarn install && yarn start:admin
๊ณ์ ๋์๊ฐ๋ ํฐ๋ฏธ๋์ ์ค๋ ๊ฑธ๋ฆฌ๋ฏ๋ก ๋ชป ์ฌ์ฉํ๋ ํฐ๋ฏธ๋์ด ๋๋ค.
background๋ฅผ ๋๋ฆด ์ ์๋ค.
-d๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋๋ฆด ์ ์๋ค.
์ด๋ฏธ์ง(nodejs:10.24.1) ์์ชฝ์ผ๋ก ๋๋ ค์ผ ํ๋ค.
docker run -v ${PWD}:/var/app/:rw -p 8000:8000 -w /var/app -env-file=${PWD}/docker/env/development.env -ti --name admin -d nodejs:10.24.1 yarn install && yarn start:admin
- -v ${PWD}:/var/app/:rw
- ๋ณผ๋ฅจ ๋ง์ดํธ ${PWD} : ๋ฆฌ๋ ์ค์์ ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค.
- :rw : read + write [default]
- :ro : read only
- ๊ฒฐ๊ตญ ์ด๋ฏธ์ง๋ฅผ runํ ๋ write๋ฅผ ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ rw๋ฅผ ๋ง์ด ์ด๋ค๊ณ ํ๋ค.
- -p 8000:8000 : ํฌํธ ์คํ. ํธ์คํธ์์ 8000๋ฒ์ผ๋ก ์ ๊ทผํ ๊ฒฝ์ฐ ๋์ปค ๋ด๋ถ์ 8000์ผ๋ก ์ฐ๊ฒฐ
- -w /var/app : working dir. ๋์ปค๊ฐ ์ฒ์ ์คํํ์ ๋ ์ ๊ทผํ ์ต์ด์ ๋๋ ํ ๋ฆฌ
- -env-file=${PWD}/docker/env/development.env : ํ๊ฒฝ๋ณ์ ํ์ผ
- -ti
- -t : ํฐ๋ฏธ๋ ์คํ
- -i : interactiveํ๊ฒ ์ ๋ ฅ์ ๋ฐ๊ฒ ๋ค.
- —name admin : ์ปจํ ์ด๋๋ช
- nodejs:10.24.1 : ์ด๋ฏธ์ง๋ช
- yarn install && yarn start:admin : -t๋ฅผ ํตํด ์ด๋ฆฐ ํฐ๋ฏธ๋์ ์ ๋ ฅ๋ ๋ช ๋ น์ด. (entrypoint)
log ์ฐ๊ธฐ
docker logs {{์ด๋ฆ(admin)}}
๋ก๊ทธ๊ฐ ์ค์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ ๊ฒ์ ๋ณด๋ ค๋ฉด -tf
docker logs {{์ด๋ฆ(admin)}} --tail=100 -tf
t : ํ์์คํฌํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๊ทธ
๋ก๊ทธ ๋ถ์์ ์ํด ํ์ผ๋ก ์ ์ฅ์ ํ ์ ์๋ค.
⇒ ๊ฒฐ์ ๋น ์ง๋ ๊ฑธ ์ฐพ์๋ผ ๋ ํ์ผ๋ก ๋นผ๋ด์ ๋ถ์ํ๋ค.
docker logs {{์ปจํ
์ด๋ ID}} -t >& {{ํ์ผ๋ช
}}
๋์ปค ๋ฉ์ถ๊ธฐ
docker stop {{์ด๋ฆ(admin)}}
stop์์ด rm ๋ช ๋ น์ด๋ง ์ํํ๋ฉด ๋์ปค ์ปจํ ์ด๋ ์ ์ง์์ง๋ค.
docker rm -f(๊ฐ์ ์ง์ฐ๊ธฐ)ํด์ผ stop + rm์ ํจ๊ณผ๋ฅผ ๋๋ฆด ์ ์๋ค.
๋์ปค ์ฌ์์ํ๊ธฐ
docker restart {{์ด๋ฆ(admin)}}
'Infra > ๋์ปค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Dockerfile ์์๋ณด๊ธฐ (0) | 2023.01.15 |
---|---|
๋์ปค ์คํฐ๋ [2]- Dockerfile์ ์ง์ ์์ฑํด๋ณด๊ธฐ (0) | 2022.04.26 |
- Total
- Today
- Yesterday
- MSA
- ์๊ณ ๋ฆฌ์ฆ
- Java
- programmers
- kotest
- JPA
- ๋ฐฑ์ค
- ์ดํฉํฐ๋ธ ์๋ฐ
- ์ดํํฐ๋ธ ์๋ฐ
- Effective Java
- ํ๋ก๊ทธ๋๋จธ์ค
- BAEKJOON
- ๊ฐ์ฒด์งํฅ
- ์ฝํ
- Spring Boot
- kkoon9
- node.js
- Kotlin
- Algorithm
- C++
- BOJ
- ํด๋ฆฐ ์ฝ๋
- ์ ๊ทํํ์
- ๋์์ธ ํจํด
- ํ ๋ผํผ
- Spring
- Olympiad
- ํด๋ฆฐ ์ํคํ ์ฒ
- ๋์์ธํจํด
- AWS
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |