Day21 - jeremy0405/Codesquad_CS GitHub Wiki

도컀

μ»¨ν…Œμ΄λ„ˆ

μ„œλ²„μ—μ„œ μ΄μ•ΌκΈ°ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆλŠ” λ‹€μ–‘ν•œ ν”„λ‘œκ·Έλž¨, μ‹€ν–‰ ν™˜κ²½μ„ μ»¨ν…Œμ΄λ„ˆμ— 좔상화 ν•œ ν›„ λ™μΌν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 ν”„λ‘œκ·Έλž¨μ˜ 배포 및 관리λ₯Ό λ‹¨μˆœν•˜κ²Œ ν•΄μ£ΌλŠ” 것이닀. ν”„λ‘œκ·Έλž¨μ„ μ»¨ν…Œμ΄λ„ˆλ₯Ό 좔상화 ν•  수 있고 μ–΄λ””μ—μ„œλ“ μ§€ μ‹€ν–‰ν•  수 μžˆλ‹€λŠ” μž₯점이 μžˆλ‹€.

기쑴의 OSλ₯Ό 가상화 ν•˜λŠ” 방식이 μ•„λ‹ˆλΌ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²©λ¦¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ λŒμ•„κ°€λ„λ‘ ν•΄μ„œ 가볍고 λΉ λ₯΄κ²Œ λ™μž‘ν•  수 μžˆλ‹€. λ˜ν•œ CPUλ‚˜ λ©”λͺ¨λ¦¬λ„ ν•„μš”ν•œ 만큼만 μ‚¬μš©ν•΄μ„œ μ„±λŠ₯μ μœΌλ‘œλ„ μš°μˆ˜ν•˜λ‹€.

이미지

μ΄λ―Έμ§€λŠ” μ»¨ν…Œμ΄λ„ˆ 싀행에 ν•„μš”ν•œ 파일과 섀정값등을 ν¬ν•¨ν•˜κ³  μžˆλŠ” κ²ƒμœΌλ‘œ μƒνƒœκ°’μ„ κ°€μ§€μ§€ μ•Šκ³  λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€. 같은 μ΄λ―Έμ§€λ‘œ μ—¬λŸ¬ 개의 μ»¨ν…Œμ΄λ„ˆλ₯Ό 생성할 수 μžˆλ‹€.

도컀 μ΄λ―Έμ§€λŠ” Docker hubμ—μ„œ κ΄€λ¦¬λ˜λ©° μœ μ €λŠ” 곡짜둜 이미지λ₯Ό λ‹€μš΄λ°›κ³  배포할 수 μžˆλ‹€.

도컀 μ΄λ―Έμ§€λŠ” μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•œ λͺ¨λ“  정보λ₯Ό κ°€μ§€κ³  μžˆμ–΄μ„œ μš©λŸ‰μ΄ μˆ˜λ°±λ©”κ°€μ •λ„μ΄λ‹€. λ„μ»€λŠ” λ ˆμ΄μ–΄ 방식을 ν†΅ν•΄μ„œ μ—¬λŸ¬ 개의 λ ˆμ΄μ–΄λ₯Ό ν•˜λ‚˜μ˜ νŒŒμΌμ‹œμŠ€ν…œμœΌλ‘œ μ‚¬μš©ν•  수 있게 ν•΄μ„œ 효율적으둜 이미지λ₯Ό κ΄€λ¦¬ν•œλ‹€.

도컀 λͺ…λ Ήμ–΄

이미지 λͺ©λ‘ 확인

docker images [OPTIONS] [REPOSITORY[:TAG]]

이미지 λ‹€μš΄

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

이미지 μ‚­μ œ

docker rmi [OPTION] IMAGE [IMAGE...]

μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

OPTIONS

  • -d : λ°±κ·ΈλΌμš΄λ“œ λͺ¨λ“œ
  • -p : 포트λ₯Ό μ—°κ²°
  • -v : 둜컬과 μ»¨ν…Œμ΄λ„ˆμ˜ 디렉토리λ₯Ό μ—°κ²°
  • -e : ν™˜κ²½λ³€μˆ˜ μ„€μ •
  • --name : μ»¨ν…Œμ΄λ„ˆ 이름 μ„€μ •
  • --rm : ν”„λ‘œμ„ΈμŠ€ μ’…λ£Œ μ‹œ μ»¨ν…Œμ΄λ„ˆ μžλ™ 제거
  • -it : 터미널 μž…λ ₯을 μœ„ν•œ μ˜΅μ…˜

μ»¨ν…Œμ΄λ„ˆ λͺ©λ‘ 확인

docker ps

  • 싀행쀑인 μ»¨ν…Œμ΄λ„ˆ λͺ©λ‘

docker ps -a

  • all μ˜΅μ…˜μœΌλ‘œ μ‹€ν–‰λ˜μ—ˆλ‹€κ°€ μ’…λ£Œλœ μ»¨ν…Œμ΄λ„ˆκΉŒμ§€ λͺ©λ‘μ— λ‚˜νƒ€λ‚¨

μ»¨ν…Œμ΄λ„ˆ 쀑지

docker stop [OPTIONS] CONTAINER [CONTAINER...]

μ»¨ν…Œμ΄λ„ˆ 제거

docker rm [OPTIONS} CONTAINER [CONTAINER...]

μ»¨ν…Œμ΄λ„ˆ λ‘˜λŸ¬λ³΄κΈ°

docker logs [OPTIONS] CONTAINER

docker logs --tail 10 CONTAINER

  • μ΅œμ‹  둜그 10개만 좜λ ₯

docker logs -f CONTAINER

  • μ‹€μ‹œκ°„ 둜그 생성 확인

μ»¨ν…Œμ΄λ„ˆ λͺ…λ Ήμ–΄ μ‹€ν–‰

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

docker exec -it jerry bash

  • docker bash μ‹€ν–‰

docker exec -it jerry mysql -uroot

  • docker μ»¨ν…Œμ΄λ„ˆμ— κΉ”λ €μžˆλŠ” mysql 을 rootκ³„μ •μœΌλ‘œ μ‹€ν–‰