[πŸ‹Docker] 도컀 λ„€νŠΈμ›Œν¬ (Docker Network)

vincaΒ·2023λ…„ 12μ›” 6일
0
post-thumbnail

🌎 λ„€νŠΈμ›Œν¬

λ„μ»€μ˜ λ„€νŠΈμ›Œν¬ κ΄€λ ¨ μ„€μ • 및 세뢀사항을 νŒŒμ•…ν•˜κΈ° μœ„ν•΄μ„œλŠ” Visual Studio Code(VS Code)의 Docker μ΅μŠ€ν…μ…˜μ΄ 더 λ‚«λ‹€.

λ˜ν•œ Docker Desktopμ—μ„œ Networkλ₯Ό ν™•μΈν•˜λ €λ©΄ μ—¬κΈ°μ„œλ„ Extension을 ν†΅ν•΄μ„œ μΆ”κ°€ν•΄ μ€˜μ•Όν•œλ‹€.

λ„μ»€μ˜ λ„€νŠΈμ›Œν¬

DockerλŠ” μ»¨ν…Œμ΄λ„ˆν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€
ν”Œλž«νΌμ΄λ‹€. μ΄λŸ¬ν•œ μ»¨ν…Œμ΄λ„ˆλŠ” 격리된 ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λ©°, μ΄λŠ” 각 μ»¨ν…Œμ΄λ„ˆκ°€
자체 λ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€μ™€ IP μ£Όμ†Œλ₯Ό κ°€μ§ˆ 수 있음
을 μ˜λ―Έν•œλ‹€.
β€’ Docker λ„€νŠΈμ›Œν¬λŠ” μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€. μ»¨ν…Œμ΄λ„ˆλŠ” λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λ˜λ―€λ‘œ, μ„œλ‘œ ν†΅μ‹ ν•˜λ €λ©΄ λ„€νŠΈμ›Œν¬λ₯Ό 톡해야 ν•œλ‹€.

  • Docker λ„€νŠΈμ›Œν¬μ˜ κΈ°λ³Έ κ°œλ…
    β€’ λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λ²„ : DockerλŠ” μ—¬λŸ¬ λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λ²„λ₯Ό μ œκ³΅ν•˜λ©°, 각 λ“œλΌμ΄λ²„λŠ” νŠΉμ • μœ ν˜•μ˜ λ„€νŠΈμ›Œν¬λ₯Ό μ§€μ›ν•œλ‹€. 예λ₯Ό λ“€μ–΄, β€˜bridge’ λ“œλΌμ΄λ²„λŠ” μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” κ°€μž₯ 기본적인 λ„€νŠΈμ›Œν¬ μœ ν˜•μ„ μ§€μ›ν•œλ‹€.
    β€’ λ„€νŠΈμ›Œν¬ 생성 : Docker λ„€νŠΈμ›Œν¬λŠ” 'docker network create' λͺ…령을 μ‚¬μš©ν•˜μ—¬ μƒμ„±λœλ‹€. 이 λͺ…령은 λ„€νŠΈμ›Œν¬ 이름과 λ“œλΌμ΄λ²„ μœ ν˜•μ„ 인수둜 λ°›λŠ”λ‹€.
    β€’ λ„€νŠΈμ›Œν¬ μ—°κ²° : μ»¨ν…Œμ΄λ„ˆλŠ” 'docker network connect' λͺ…령을 μ‚¬μš©ν•˜μ—¬ λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœλ‹€. 이 λͺ…령은 λ„€νŠΈμ›Œν¬ 이름과 μ»¨ν…Œμ΄λ„ˆ IDλ₯Ό 인수둜 λ°›λŠ”λ‹€.

도컀 λ„€νŠΈμ›Œν¬μ˜ λΆ„λ₯˜

  1. Bridge Network (λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬):
    • κΈ°λ³Έ λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λ²„λ‘œ, 도컀가 μžλ™μœΌλ‘œ μƒμ„±ν•˜λŠ” κΈ°λ³Έ λ„€νŠΈμ›Œν¬μž…λ‹ˆλ‹€.
    • μ»¨ν…Œμ΄λ„ˆ κ°„ 톡신을 μœ„ν•΄ λ™μΌν•œ 호슀트 λ‚΄μ—μ„œ λ„€νŠΈμ›Œν¬λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
    • 이 λ„€νŠΈμ›Œν¬λŠ” 동일 호슀트 λ‚΄μ˜ μ»¨ν…Œμ΄λ„ˆ κ°„ 톡신 λ˜λŠ” ν˜ΈμŠ€νŠΈμ™€ μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신에 μ‚¬μš©λ©λ‹ˆλ‹€.
  2. Host Network (호슀트 λ„€νŠΈμ›Œν¬):
    • 호슀트의 λ„€νŠΈμ›Œν‚Ήμ„ 직접 μ‚¬μš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ λ„€νŠΈμ›Œν¬ 격리λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€.
    • ν˜ΈμŠ€νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” IPλ₯Ό 직접 ν• λ‹Ήν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€.
    • μ»¨ν…Œμ΄λ„ˆκ°€ 호슀트의 λ„€νŠΈμ›Œν¬ λ¦¬μ†ŒμŠ€μ— 직접 μ•‘μ„ΈμŠ€ν•  수 있기 λ•Œλ¬Έμ— λ³΄μ•ˆ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ„€νŠΈμ›Œν¬ 격리가 ν•„μš”ν•˜μ§€ μ•Šμ€ κ²½μš°μ— μœ μš©ν•©λ‹ˆλ‹€.
  3. Overlay Network (μ˜€λ²„λ ˆμ΄ λ„€νŠΈμ›Œν¬):
    • μ—¬λŸ¬ 도컀 데λͺ¬μ„ μ—°κ²°ν•˜κ³ , Docker Swarm μ„œλΉ„μŠ€μ™€ μ»¨ν…Œμ΄λ„ˆ 간에 λ…Έλ“œ κ°„ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
    • Swarm λͺ¨λ“œμ—μ„œ μž‘λ™ν•˜λ©°, μ—¬λŸ¬ ν˜ΈμŠ€νŠΈμ— 걸쳐 μžˆλŠ” μ»¨ν…Œμ΄λ„ˆ 간에 톡신할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
    • OS μˆ˜μ€€μ˜ λΌμš°νŒ…μ΄ ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©°, μŠ€μ›œ ν΄λŸ¬μŠ€ν„°μ—μ„œ μ»¨ν…Œμ΄λ„ˆλ“€μ΄ 톡신할 수 μžˆλŠ” ν™˜κ²½μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

λ„€νŠΈμ›Œν¬ 확인

ν˜„μž¬ 도컀 μ‹œμŠ€ν…œμ— μžˆλŠ” λ„€νŠΈμ›Œν¬λ₯Ό 확인할 수 μžˆλ‹€.

docker netwokr ls

λ‹€μŒκ³Ό 같이 ν•„ν„°λ₯Ό μ μš©ν•  μˆ˜λ„ μžˆλ‹€.

docker network ls --filter driver=bridge

Docker network - Bridge

β€’ λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬λŠ” 도컀가 μ œκ³΅ν•˜λŠ” λ„€νŠΈμ›Œν¬ λ“œλΌμ΄λ²„ 쀑 ν•˜λ‚˜λ‘œ, 가상
μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 μ»¨ν…Œμ΄λ„ˆλ“€μ„ μ—°κ²°ν•œλ‹€.
β€’ 도컀λ₯Ό μ„€μΉ˜ν•˜λ©΄ 기본적으둜 docker0 λΌλŠ” λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬κ°€ μƒμ„±λ˜λ©°, μƒˆλ‘œμš΄
μ»¨ν…Œμ΄λ„ˆλ“€μ€ 이 λ„€νŠΈμ›Œν¬μ— μžλ™μœΌλ‘œ μ—°κ²°λœλ‹€.
β€’ μ‚¬μš©μžλŠ” docker network λͺ…λ Ήμ–΄λ₯Ό 톡해 μƒˆλ‘œμš΄ λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬λ₯Ό μƒμ„±ν•˜κ±°λ‚˜,
기쑴의 λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬μ— μ»¨ν…Œμ΄λ„ˆλ“€μ„ μ—°κ²°ν•˜κ±°λ‚˜ ν•΄μ œν•  수 μžˆλ‹€.

  • λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ μ»¨ν…Œμ΄λ„ˆλ“€μ€ μ„œλ‘œ μ΄λ¦„μ΄λ‚˜ λ³„μΉ­μœΌλ‘œ 톡신할 수 있으며, 도컀가 μžλ™μœΌλ‘œ 호슀트 머신에 iptables κ·œμΉ™μ„ μ„€μ •ν•˜μ—¬ λ‹€λ₯Έ λΈŒλ¦¬μ§€ λ„€νŠΈμ›Œν¬μ— μ—°κ²°λœ μ»¨ν…Œμ΄λ„ˆλ“€κ³Όμ˜ 톡신을 μ°¨λ‹¨ν•œλ‹€.

도컀 λ„€νŠΈμ›Œν¬ Create λͺ…λ Ήμ–΄

docker network create [option] network

option을 ν†΅ν•΄μ„œ --diver λ₯Ό 톡해 λ“œλΌμ΄λ²„λ₯Ό μ§€μ •ν•˜κ±°λ‚˜, --subnet을 톡해 μ„œλΈŒλ„· 마슀크λ₯Ό μ§€μ •ν•˜λŠ” λ“± 각쒅 λ„€νŠΈμ›Œν¬ 섀정을 ν•  수 μžˆλ‹€.

ν•œλ²ˆ --driver=bridge μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ bridge νƒ€μž…μ˜ λ„€νŠΈμ›Œν¬λ₯Ό λ§Œλ“€μ–΄λ³΄μž.

# μƒˆλ‘œμš΄ web-net1 λ„€νŠΈμ›Œν¬ 생성
docker network create --driver=bridge web-net1
# ν•„ν„°λ₯Ό ν†΅ν•΄μ„œ κ²€μ‚­
docker network ls --filter driver=bridge

μ‹€μ œ μƒμ„±λœ 상세 μ •λ³΄λŠ” VS Code의 Docker Extensionμ—μ„œλ„ 확인이 κ°€λŠ₯ν•˜λ‹€.


Subnet : 172.20.0.0/16 및 Gateway: 172.20.0.1λ₯Ό μ‚¬μš©μžκ°€ 직접 지정할 μˆ˜λŠ” μ—†μ„κΉŒ?

직접 지정할 수 μžˆλ‹€.

λ„€νŠΈμ›Œν¬λ₯Ό 생성할 λ•Œ μ„œλΈŒλ„·μœΌ 직접 μ§€μ •ν•˜μ—¬ 생성해 λ³΄λ„λ‘ν•˜μž.

직접 μ§€μ •ν•œλŒ€λ‘œ μƒμ„±λœ 것을 확인할 수 μžˆλ‹€.

λΈŒλ¦Ώμ§€λΌλŠ” 것은 같은 λ„€νŠΈμ›Œν¬ λ‚΄μ˜ μ»¨ν…Œμ΄λ„ˆλΌλ¦¬ 톡신이 κ°€λŠ₯ν•˜λ„λ‘ ν•΄μ£ΌλŠ” λ„€νŠΈμ›Œν¬ μ’…λ₯˜μ΄λ‹€.

ν•œ λ„€νŠΈμ›Œν¬ μƒμ—μ„œ μ•ŒνŒŒμΈ λ¦¬λˆ…μŠ€κ°€ μ›Ήλ„·1을 λ¬Όκ³  있음. 또 λ‹€λ₯Έ μ•ŒνŒŒμΈ λ¦¬λˆ…μŠ€κ°€ μ›Ήλ„·1을 λ™μΌν•˜κ²Œ λ¬Όκ³  있음

μ—¬κΈ°μ„œ ping 톡신을 ν•˜λ©΄ μ •μƒμ μœΌλ‘œ 핑이 λ³΄λ‚΄μ§€λŠ” 것을 확인할 수 μžˆλ‹€.

μ—¬λŸ¬κ°œμ˜ μ„œλΈŒλ„·μ„ 가지기

μ»¨ν…Œμ΄λ„ˆλŠ” μ—¬λŸ¬κ°œμ˜ μ„œλΈŒλ„·μ„ κ°€μ§ˆ 수 μžˆλ‹€.
이번 μ‹€μŠ΅μ—μ„œλŠ” 2개의 μ„œλΈŒλ„·μ„ 가지도둝 ν•΄λ³΄μž.

# κΈ°λ³Έ web-net을 ν†΅ν•΄μ„œ μ»¨ν…Œμ΄λ„ˆ 생성
docker container run -it --name my_alpine1 --network web-net alpine
docker container run -it --name my_alpine2 --network web-net alpine
# my_alpine1에 λŒ€ν•΄μ„œ μƒˆλ‘œμš΄ λ„€νŠΈμ›Œν¬(new-web-net) λΆ€μ—¬
docker network connect new-web-net my_alpine1
# my_alpine2에 λŒ€ν•΄μ„œ μƒˆλ‘œμš΄ λ‚΄νŠΈμ›Œν¬(new-web-net) λΆ€μ—¬
docker network connect new-web-net my_alpine2

κΈ°μ‘΄ μ„œλΈŒλ„·κ³Ό λ”λΆˆμ–΄μ„œ 172.21.0.4 λŒ€μ—­μ„ κ°€μ§€λŠ” μƒˆλ‘œμš΄ μ„œλΈŒλ„·μ΄ eth1으둜 μΆ”κ°€λœ 것을 확인할 수 μžˆλ‹€.

my_alpine1μ—μ„œ my_alpine2으둜의 두 아이피 λͺ¨λ‘μ—κ²Œ ping 톡신이 μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ” 것을 수 μžˆλ‹€.

μ„œλ‘œ λ‹€λ₯Έ λŒ€μ—­κ°„μ˜ 톡신

  1. κΈ°μ‘΄ μ»¨ν…Œμ΄λ„ˆμ— μƒˆλ‘œμš΄ web-net-3 μ„œλΈŒλ„·(λ„€νŠΈμ›Œν¬)λ₯Ό μΆ”κ°€.
  2. web-net-3λ₯Ό κ°€μ§€λŠ” μƒˆλ‘œμš΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό 생성
# 1. my_alpine1에 λŒ€ν•΄μ„œ μƒˆλ‘œμš΄ λ„€νŠΈμ›Œν¬(new-web-net-3) λΆ€μ—¬
docker network connect web-net-3 my_alpine1
# 2. web-net-3을 ν†΅ν•΄μ„œ μ»¨ν…Œμ΄λ„ˆ 생성
docker container run -it --name my_alpine3 --network web-net-3 alpine

1번과 2번의 μ»¨ν…Œμ΄λ„ˆλŠ” μ„œλ‘œ 톡신이 κ°€λŠ₯ν• κΉŒ?

각 μ»¨ν…Œμ΄λ„ˆ λͺ¨λ‘ 17.28.X.X λŒ€μ—­μ˜ 아이피λ₯Ό 가지고 μžˆλŠ” 것을 확인할 수 μžˆλ‹€.

2번 μ»¨ν…Œμ΄λ„ˆμ—μ„œ 1번 μ»¨ν…Œμ΄λ„ˆλ‘œ17.28.X.X μ•„μ΄ν”Όλ‘œ Ping 톡신을 λ³΄λ‚΄λ³΄μž.

μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰κ°€λŠ₯ν•œ 것을 확인할 수 μžˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 2번 μ»¨ν…Œμ΄λ„ˆμ—μ„œ 1번 μ»¨ν…Œμ΄λ„ˆμ˜ λ‹€λ₯Έ μ„œλΈŒλ„·μœΌλ‘œμ˜ Ping 톡신은 κ°€λŠ₯ν• κΉŒ?

μ—°κ²°λœ μ„œλΈŒλ„·μ΄ μ‘΄μž¬ν•˜μ—¬λ„ λ‹€λ₯ΈλŒ€μ—­λŒ€μ— μžˆλŠ” μ»¨ν…Œμ΄λ„ˆμ™€μ˜ μ—°κ²°λœ 톡신은 λΆˆκ°€λŠ₯ν•˜λ‹€.

μ„œλΈŒλ„· ν™˜κ²½μ΄ μ™„μ „νžˆ λΆ„λ¦¬λ˜λŠ” κ²½μš°μ—λŠ” ping을 보낼 μˆ˜κ°€ μ—†λ‹€.

μ™ΈλΆ€ λ…ΈμΆœ(배포)

도컀 λ„€νŠΈμ›Œν¬μ—μ„œ expose와 publish의 차이점

  • expose : μ»¨ν…Œμ΄λ„ˆκ°€ μ‚¬μš©ν•˜λŠ” 포트λ₯Ό λ©”νƒ€λ°μ΄ν„°λ‘œ μ„ μ–Έν•œλ‹€.
    expose된 ν¬νŠΈλŠ” 도컀 λ„€νŠΈμ›Œν¬ λ‚΄μ—μ„œ λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆμ™€ 톡신할 수 μžˆμ§€λ§Œ, ν˜ΈμŠ€νŠΈλ‚˜ μ™ΈλΆ€ λ„€νŠΈμ›Œν¬μ—μ„œλŠ” μ ‘κ·Όν•  수 μ—†λ‹€.
  • publish : μ»¨ν…Œμ΄λ„ˆμ˜ 포트λ₯Ό 호슀트의 ν¬νŠΈμ™€ λ°”μΈλ”©ν•˜μ—¬ μ™ΈλΆ€μ—μ„œ μ ‘κ·Όν•  수 있게 ν•˜λŠ” 것이닀. publish된 ν¬νŠΈλŠ” expose된 ν¬νŠΈμ™€ 달리 호슀트의 IP μ£Όμ†Œμ™€ 포트 번호λ₯Ό 지정할 수 μžˆλ‹€.

expose와 publishλ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” μ»¨ν…Œμ΄λ„ˆμ˜ λ„€νŠΈμ›Œν¬ 접근성을
μ œμ–΄ν•˜κΈ° μœ„ν•¨μ΄λ‹€. exposeλŠ” μ»¨ν…Œμ΄λ„ˆκ°€ μ‚¬μš©ν•˜λŠ” 포트λ₯Ό λ¬Έμ„œν™”ν•˜κ³ ,
publisλŠ” μ»¨ν…Œμ΄λ„ˆμ˜ μ„œλΉ„μŠ€λ₯Ό 외뢀에 λ…ΈμΆœν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.

ν¬νŠΈν¬μ›Œλ”©μ„ ν†΅ν•œ λ…ΈμΆœ

 docker run -d -p 8080:80 --name nginx nginx:latest

호슀트의 8080 포트λ₯Ό μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ˜ 80 포트둜 ν¬μ›Œλ”©ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€.
μ΄λŠ” 호슀트의 8080 포트둜 λ“€μ–΄μ˜€λŠ” μš”μ²­μ„ Docker μ»¨ν…Œμ΄λ„ˆ λ‚΄λΆ€μ˜ 80 포트둜 μ „λ‹¬ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆ λ‚΄μ˜ μ„œλΉ„μŠ€(μ›Ή μ„œλ²„)에 μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•œλ‹€.

도컀 IPAM

Docker λ„€νŠΈμ›Œν¬μ—μ„œ IP μ£Όμ†Œ 및 κ΄€λ ¨ 섀정을 μˆ˜λ™μœΌλ‘œ ꡬ성할 수 μžˆλŠ” 속성이닀.

  • driver : μ‚¬μš©μž μ •μ˜ IPAM λ“œλΌμ΄λ²„λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. 기본적으둜 DockerλŠ” λ‚΄μž₯된 IPAM λ“œλΌμ΄λ²„λ₯Ό μ‚¬μš©ν•œλ‹€.

  • config : IPAM ꡬ성

    • subnet : μ»¨ν…Œμ΄λ„ˆμ˜ μ„œλΈŒλ„· λ²”μœ„λ₯Ό ꡬ성
    • ip_range : μ»¨ν…Œμ΄λ„ˆμ— ν• λ‹Ήν•  수 μžˆλŠ” IP μ£Όμ†Œ λ²”μœ„λ₯Ό 지정
    • gateway : λ„€νŠΈμ›Œν¬μ˜ κ²Œμ΄νŠΈμ›¨μ΄ μ„€μ •
    • aux_addresses : νŠΉμ • IP μ£Όμ†Œ 직접 κ³ μ •
      μ΄λ ‡κ²Œ ν•˜λ©΄ ν•΄λ‹Ή IP μ£Όμ†ŒλŠ” Docker에 μ˜ν•΄ μžλ™μœΌλ‘œ μ»¨ν…Œμ΄λ„ˆμ— ν• λ‹Ήλ˜μ§€ μ•Šκ³ , μ‚¬μš©μžκ°€ 직접 ν• λ‹Ήν•˜μ—¬ μ‚¬μš©

πŸ›„ aux_addresse?
aux_addresseλŠ” μ‚¬μš©μžκ°€ keepν•΄λ‘” IPλ₯Ό μ˜λ―Έν•œλ‹€.
즉, Dockerκ°€ μžλ™μœΌλ‘œ μ‚¬μš©ν•  수 μ—†λŠ” IP둜 μ‚¬μš©μžκ°€ μˆ˜λ™μœΌλ‘œ μ„€μ •ν•˜λŠ” μ£Όμ†Œλ₯Ό 미리 μŸκ²¨λ†“λŠ” 것이닀.

profile
뢉은 λ°° μ˜€μƒ‰ 딱닀ꡬ리 개발자 πŸ¦ƒCloud & DevOps

5개의 λŒ“κΈ€

comment-user-thumbnail
2024λ…„ 10μ›” 17일

μ•ˆλ…•ν•˜μ„Έμš”! Docker κ³΅λΆ€ν•˜λ‹€κ°€ μš°μ—°νžˆ λ“€μ–΄μ™”λŠ”λ° λΈ”λ‘œκ·Έ 정리가 λ„ˆλ¬΄ μž˜λ˜μ–΄μžˆλ„€μš”! 쒋은 κΈ€ κ°μ‚¬ν•©λ‹ˆλ‹€πŸ˜Š

1개의 λ‹΅κΈ€
comment-user-thumbnail
2024λ…„ 12μ›” 19일

Sprunki Retake 각 μ»¨ν…Œμ΄λ„ˆλŠ” λ…λ¦½λœ λ„€νŠΈμ›Œν¬ ν™˜κ²½μ„ κ°€μ§€λ―€λ‘œ λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆμ˜ 영ν–₯을 받지 μ•Šκ³  μ•ˆμ „ν•˜κ²Œ 운영될 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹΅κΈ€ 달기