πŸ’Έ [Redis] λ ˆλ””μŠ€ μ„€μΉ˜ν•˜κΈ° with 도컀(Docker)

μ΄μ„œΒ·2023λ…„ 9μ›” 29일
0

πŸ’Έ Redis νŠΈλž™

λͺ©λ‘ 보기
2/5

banner

πŸŽοΈπŸ’¨Β μ•ˆλ…•ν•˜μ„Έμš”, μ΄μ„œμž…λ‹ˆλ‹€! 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” 도컀(docker)λ₯Ό μ΄μš©ν•˜μ—¬ λ ˆλ””μŠ€λ₯Ό μ„€μΉ˜ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ ν¬μŠ€νŒ… ν•˜κ³ μž ν•΄μš”.

도컀 μ„€μΉ˜

μš°μ„  도컀가 μ„€μΉ˜ λ˜μ–΄ μžˆμ–΄μ•Όν•΄μš”. 도컀 곡식 ν™ˆνŽ˜μ΄μ§€μ—μ„œ λ‹€μš΄λ₯΄λ“œν•˜μ—¬ μ„€μΉ˜ν•΄μ£Όμ„Έμš”

도컀가 이미 μ„€μΉ˜ λ˜μ–΄μžˆλ‹€λ©΄, 도컀가 μ‹€ν–‰ 쀑인지 ν™•μΈν•΄λ³΄μ„Έμš”.

docker ps

λ§Œμ•½ μ•„λž˜μ™€ 같은 λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚œλ‹€λ©΄ 아직 도컀가 μ‹€ν–‰ 쀑이지 μ•Šμ€ κ±°μ˜ˆμš”. 도컀λ₯Ό μš°μ„  μ‹€ν–‰ν•΄μ£Όμ„Έμš”.

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Redis 이미지 λ‹€μš΄λ‘œλ“œ

도컀 ν—ˆλΈŒ(docker hub)μ—μ„œ Redis 곡식 이미지λ₯Ό λ‹€μš΄λ‘œλ“œν•΄μš”. ν„°λ―Έλ„μ—μ„œ μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό 톡해 redis μ΅œμ‹  이미지λ₯Ό λ‹€μš΄λ‘œλ“œν•  수 μžˆμ–΄μš”.

docker pull redis

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

run λͺ…λ Ήμ–΄λ₯Ό 톡해 μ»¨ν…Œμ΄λ„ˆλ₯Ό μƒμ„±ν•˜κ³  μ‹€ν–‰ν•  수 μžˆμ–΄μš”.

  • -d: μ˜΅μ…˜μ€ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰ν•˜λŠ” μ˜΅μ…˜μ΄μ—μš”.
  • β€”name: μ˜΅μ…˜μ„ 톡해 μ›ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆ 이름을 μ„€μ •ν•  수 μžˆμ–΄μš”.
  • -p: μ˜΅μ…˜μ€ μ»¨ν…Œμ΄λ„ˆμ™€ 호슀트 μ‹œμŠ€ν…œκ°„μ˜ 포트 맀핑을 ν•˜λŠ” μ˜΅μ…˜μ΄μ—μš”. 예λ₯Ό λ“€μ–΄ 8080:80 으둜 μž‘μ„±ν•œλ‹€λ©΄ 8080은 호슀트 μ‹œμŠ€ν…œμ˜ 포트 λ²ˆν˜Έμ—μš”. 콜둠(:) 뒀에 μž‘μ„±ν•œ 80 ν¬νŠΈλŠ” μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ—μ„œ μ‹€ν–‰ 쀑인 μ„œλΉ„μŠ€ λ˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μˆ˜μ‹  λŒ€κΈ°ν•˜κ³  μžˆλŠ” ν¬νŠΈμ—μš”. 호슀트 포트λ₯Ό 톡해 μ»¨ν…Œμ΄λ„ˆμ— μ ‘κ·Όν•  λ•Œ μ‚¬μš©ν•˜λŠ” 포트이며 μ»¨ν…Œμ΄λ„ˆ ν¬νŠΈλŠ” μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ—μ„œ μ‹€ν–‰ 쀑인 μ„œλΉ„μŠ€μ˜ ν¬νŠΈκ°€ 80으둜 μˆ˜μ‹  λŒ€κΈ°ν•˜κ³  μžˆλ‹€λŠ” μ˜λ―Έμ—μš”.
docker run -d --name hello-redis -p 6379:6379 redis

λ ˆλ””μŠ€ CLI 접속

μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό 톡해 λ ˆλ””μŠ€ CLI에 접속할 수 μžˆμ–΄μš”.

  • exec: exec λͺ…λ Ήμ–΄λŠ” μ‹€ν–‰ 쀑인 도컀 μ»¨ν…Œμ΄λ„ˆ λ‚΄μ—μ„œ μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰μ‹œμΌœμš”. 이λ₯Ό 톡해 μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ—μ„œ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜κ±°λ‚˜ 슀크립트λ₯Ό μ‹€ν–‰ν•  수 μžˆμ–΄μš”.
  • -i: μ˜΅μ…˜μ€ μΈν„°λž™ν‹°λΈŒ μ˜΅μ…˜μœΌλ‘œ 이 μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λ©΄ μ»¨ν…Œμ΄λ„ˆ 내뢀와 터미널 간에 μž…μΆœλ ₯을 μ—°κ²°ν•΄μš”. 이λ₯Ό 톡해 μ‚¬μš©μžλŠ” λͺ…λ Ή μ‹€ν–‰ 쀑에 μƒν˜Έ μž‘μš©ν•  수 μžˆμ–΄μš”.
  • -t: μ˜΅μ…˜μ€ λͺ…λ Ή 싀행을 터미널과 μ—°κ²°ν•˜λΌλŠ” 것을 λ‚˜νƒ€λ‚΄μš”. 이λ₯Ό 톡해 터미널 κ΄€λ ¨ 섀정이 적용되며 터미널 λͺ…λ Ήμ–΄μ˜ 좜λ ₯ ν˜•μ‹μ΄ μ˜¬λ°”λ₯΄κ²Œ ν‘œμ‹œλΌμš”.
docker exec -it hello-redis redis-cli

μ •μƒμ μœΌλ‘œ μ ‘μ†ν–ˆλ‹€λ©΄, λ‹€μŒκ³Ό 같은 κ°„λ‹¨ν•œ λͺ…λ Ήμ–΄λ₯Ό μˆ˜ν–‰ν•΄λ³΄μ„Έμš”.

set mykey1 "Hello Redis!"
get mykey1

μœ„μ˜ λͺ…λ Ήμ–΄λ₯Ό μˆ˜ν–‰ν•˜λ©΄ μ•„λž˜μ™€ 같이 좜λ ₯λ˜λŠ” 것을 확인할 수 μžˆμ–΄μš”.

// 좜λ ₯
127.0.0.1:6379> set mykey1 "Hello Redis!"
OK
127.0.0.1:6379> get mykey1
"Hello Redis!"
127.0.0.1:6379>

마무리

κ°„λ‹¨ν•˜κ²Œ λ„μ»€λ‘œ λ ˆλ””μŠ€λ₯Ό μ„€μΉ˜ν•˜κ³  μ‹€ν–‰ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μ•˜μ–΄μš”. 이λ₯Ό 기점으둜 λ”μš± λ ˆλ””μŠ€μ— λŒ€ν•΄ ν•™μŠ΅ν•˜κ³  μ „λ¬Έκ°€λ‘œ κ±°λ“­λ‚  수 있으면 μ’‹κ² μ–΄μš”πŸ˜†!

profile
πŸŽοΈπŸ’¨ Beep Beep

0개의 λŒ“κΈ€