---
title: "Mac에서 Docker 컨테이너에 연결할 수 없는 경우: 포트와 IP · Kilobat 가이드"
url: "https://kilobat.app/ko/guides/docker-container-from-mac"
description: "macOS에서 Docker Desktop 또는 OrbStack의 서비스에 연결하려면 포트를 공개하고 localhost를 사용하세요. 컨테이너 IP 주소를 사용할 수 있는 경우도 알아보세요."
---

개발자

# Mac에서 Docker 컨테이너에 연결할 수 없음

Mac의 Docker는 Linux 가상 머신에서 컨테이너를 실행합니다. macOS에서 컨테이너에 접근하려면 일반적으로 localhost에 포트를 공개합니다.

적용 대상: 현재 지원되는 macOS 버전의 Docker Desktop 및 OrbStack. · 확인일: 2026년 10월 29일

## 증상

- `curl localhost:8080`은 실패하지만 컨테이너 내부에서는 서비스가 작동합니다.
- 컨테이너의 IP 주소에 ping을 보내거나 연결할 수 없습니다.
- Mac에 `docker0` 인터페이스가 표시되지 않습니다.
- 서비스가 Linux에서는 작동하지만 Mac에서는 작동하지 않습니다.

## 가능한 원인

- **포트가 공개되지 않았습니다.** `-p`이 없으면 Docker Desktop이 포트를 Mac으로 전달하지 않습니다.
- **Docker Desktop의 컨테이너 IP.** Docker Desktop 문서에 따르면 호스트에서는 브리지 네트워크에 접근할 수 없습니다.
- **컨테이너의 127.0.0.1에서 서비스가 수신 대기 중입니다.** 이 경우 컨테이너 자체만 서비스에 연결할 수 있습니다.
- **잘못된 포트 쌍.** `-p 8080:80`에서 8080은 Mac 포트이고 80은 컨테이너 포트입니다.

## 확인 방법

1. 실행 중인 컨테이너와 공개된 포트를 나열합니다.

   ```
   docker ps
   ```

   출력 PORTS 열에 `0.0.0.0:8080->80/tcp` 같은 쌍이 표시됩니다. 쌍이 없으면 포트가 공개되지 않은 것입니다.
2. 컨테이너 하나의 공개된 포트를 표시합니다.

   ```
   docker port my-container
   ```
3. 이미지에 wget이 있으면 컨테이너 내부에서 서비스를 테스트하세요. 응답이 있으면 서비스가 작동하는 것입니다.

   ```
   docker exec my-container wget -qO- http://localhost:80
   ```
4. Mac에서 해당 포트를 수신하는 프로세스를 확인합니다.

   ```
   lsof -nP -iTCP:8080 -sTCP:LISTEN
   ```

## 해결 방법

1. 게시된 포트를 사용해 컨테이너를 시작하세요. 첫 번째 숫자는 Mac의 포트입니다.

   ```
   docker run -d -p 8080:80 nginx
   ```
2. Mac에서 localhost와 Mac 포트를 사용하여 연결하세요.

   ```
   curl http://localhost:8080
   ```
3. 컨테이너의 서비스가 127.0.0.1 대신 0.0.0.0에서 수신 대기하도록 하세요. 설정은 해당 서비스의 문서를 참조하세요.
4. Mac 포트가 사용 중이라면 다른 포트를 선택하세요. [Mac에서 이미 사용 중인 포트](https://kilobat.app/ko/guides/port-already-in-use)를 참고하세요.
5. OrbStack에서는 컨테이너의 IP 주소 또는 `container-name.orb.local` 이름도 사용할 수 있습니다.

## Kilobat 사용

1. Kilobat 검사는 Mac에서 실행됩니다. 실패하는 코드가 컨테이너에서 실행되면 `--context container`을 사용하세요. 보고서 끝에 해당 환경에서 실행할 명령어가 표시됩니다.

   ```
   kilobat why http://localhost:8080 --context container
   ```

## 질문

**Docker Desktop의 컨테이너에 핑을 보낼 수 없는 이유는 무엇인가요?**

Docker 문서에 따르면 Docker Desktop은 Mac에서 Linux 컨테이너로 트래픽을 라우팅할 수 없습니다. 대신 포트를 게시하세요.

**OrbStack은 다르게 작동하나요?**

네. OrbStack 문서에 따르면 Mac에서 IP 주소와 `.orb.local` 이름으로 컨테이너에 연결할 수 있습니다.

## 출처

- [Docker 문서: Docker Desktop의 네트워킹 방법 살펴보기](https://docs.docker.com/desktop/features/networking/networking-how-tos/)
- [Docker 문서: Docker Desktop 네트워킹](https://docs.docker.com/desktop/features/networking/)
- [OrbStack 문서: 컨테이너 네트워킹](https://docs.orbstack.dev/docker/network)
- lsof(8), macOS 27.2와 함께 설치된 매뉴얼 페이지

2026년 10월 29일 확인했습니다.

## 관련 가이드

- [컨테이너에서 Mac의 localhost에 연결할 수 없음](https://kilobat.app/ko/guides/localhost-from-container): 각 컨테이너에는 자체 네트워크 스택이 있습니다.
- [Mac에서 포트가 이미 사용 중인 경우](https://kilobat.app/ko/guides/port-already-in-use): 한 TCP 포트와 주소에서는 하나의 프로세스만 수신 대기할 수 있습니다.
- [한 사이트 또는 API에 연결되지 않는 이유 찾기](https://kilobat.app/ko/guides/recipes/why-cant-it-connect): 인터넷은 작동하지만 한 주소에 연결할 수 없을 때 Kilobat이 각 계층을 차례로 확인합니다.
- [Mac에서 포트 5000 또는 7000 사용 중: AirPlay 수신 모드](https://kilobat.app/ko/guides/airplay-receiver-port-5000): Apple은 AirPlay에 TCP 포트 5000과 7000을 사용한다고 안내합니다.
