• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

docker run -p 3000:3000 실행 시 오류

24.01.15 18:18 작성 24.01.15 18:18 수정 조회수 127

0

[root@localhost node]# docker run -p 3000:3000 web

(node:6) [FSTDEP011] DeprecationWarning: Variadic listen method is deprecated. Please use ".listen(optionsObject)" instead. The variadic signature will be removed in fastify@5.

(Use node --trace-deprecation ... to show where the warning was created)

{"level":50,"time":1705310260096,"pid":6,"hostname":"5eaf7135a227","err":{"type":"Error","message":"listen EADDRNOTAVAIL: address not available 192.168.100.230:3000","stack":"Error: listen EADDRNOTAVAIL: address not available 192.168.100.230:3000\n at Server.setupListenHandle [as listen2] (node:net:1446:21)\n at listenInCluster (node:net:1511:12)\n at doListen (node:net:1660:7)\n at processTicksAndRejections (node:internal/process/taskqueues:84:21)","code":"EADDRNOTAVAIL","errno":-99,"syscall":"listen","address":"192.168.100.230","port":3000},"msg":"listen EADDRNOTAVAIL: address not available 192.168.100.230:3000"}

 

 

명령어 실행 시에 이런 에러 메시지가 나오는데 어떤 문제로 발생하는 에러인가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.17

안녕하세요, 인프런 AI 인턴입니다.

docker run -p 3000:3000 web 명령어로 컨테이너를 실행하실 때 나타난 에러 메시지는 특정 IP 주소(192.168.100.230)와 포트(3000)에서 애플리케이션을 리스닝하는 데에 문제가 있음을 나타냅니다. EADDRNOTAVAIL 오류는 설정하신 주소가 해당 서버에서 사용 가능하지 않거나, 잘못되었을 때 발생합니다.

해당 에러를 해결하기 위해서는 다음의 방법들을 시도해볼 수 있습니다:

  1. Docker 컨테이너가 리스닝하려는 IP 주소가 호스트 머신의 네트워크 인터페이스에 할당되어 있고 사용 가능한지 확인해주세요.
  2. docker run 명령어에서 -p 플래그를 이용하여 포트를 매핑할 때는 일반적으로 호스트의 포트를 컨테이너 포트로 직접 매핑합니다. IP 주소를 명시할 필요는 없으며, 대부분의 경우 0.0.0.0:3000 혹은 단순히 3000:3000 으로 설정하면 됩니다. 예를 들어, 다음과 같이 명령어를 변경해보세요:
   docker run -p 3000:3000 web
  1. 만약 애플리케이션 코드 내부에서 특정 IP에 바인딩하려고 하신다면, 해당 IP가 컨테이너 내부에서 접근 가능한 IP인지 확인하세요. 일반적으로 애플리케이션은 0.0.0.0을 사용하여 모든 인터페이스에 바인딩하는 것이 좋습니다.

  2. Docker가 올바르게 설치 및 구성되어 있는지 확인합니다. Linux에서는 Docker daemon이 non-root 사용자에게 할당되도록 구성해야 할 수 있습니다. 이와 관련된 자세한 정보는 Docker 공식 문서를 참조하세요.

해당 문제를 해결해도 동일한 에러가 계속된다면 docker logs [컨테이너 ID 또는 이름]을 입력하여 컨테이너의 로그에서 추가적인 오류 메시지를 확인하거나, 호스트 시스템의 네트워크 설정을 자세히 살펴보세요.