새 컴퓨터에 도커docker를 설치하고 라라벨Laravel 개발 환경을 구축하고 있었다.
그러던 중, NGiNX 컨테이너를 만들자 컴퓨터에 다음과 같은 메시지가 떴다.
공용 및 프라이빗 네트워크에서 이 앱에 액세스하도록 허용하시겠습니까?
새 컴퓨터로 개발 환경을 구축하다 보니, 평소에는 볼 수 없었던 메시지들을 요즘 많이 본다.
이 메시지는 Windows 방화벽이 새로운 네트워크 통신(NGiNX 컨테이너)을 감지했을 때 띄우는 보안 알림이다.
NGiNX는 기본적으로 외부(브라우저 등)에서 들어오는 요청을 받아야 하는 웹 서버이기 때문에, Windows가 이 프로그램이 네트워크 통신을 하도록 허용할 것인지 물어보는 것이다.
왜 뜨는 것일까?
NGiNX 컨테이너를 실행하면 보통 호스트(Windows)의 특정 포트(예: 80, 8080 등)를 컨테이너와 연결하게 된다.
이때 Docker Desktop Backend 프로세스가 네트워크 포트를 열고 외부 통신을 시도하는데, 방화벽 입장에서는 허가되지 않은 외부 접속이 들어올 수 있다고 판단해 이를 일시적으로 차단하고 사용자에게 확인을 요청하는 것이다.
어떤 버튼을 클릭해야 할까?
일단은 개발 환경을 구축하기 위해서 '허용' 버튼을 클릭하면 된다.
이 버튼을 눌러야 브라우저에서 localhost 주소로 접속했을 때 NGiNX 화면이 정상적으로 뜬다.
만약 '취소'를 누르면 방화벽에 막혀 컨테이너는 실행 중이라도 브라우저에서 접속이 안 되는 현상이 발생할 수 있다.
방화벽 설정 확인 및 변경 방법
이미 허용한 설정을 취소하거나, 반대로 차단된 것을 허용으로 바꾸고 싶을 때는 다음과 같이 변경할 수 있다.
- 윈도우 검색창에 '제어판'을 입력해 제어판을 연다.
- '시스템 및 보안' > 'Windows Defender 방화벽'으로 들어간다.
- 왼쪽 메뉴에서 'Windows Defender 방화벽을 통해 앱 또는 기능 허용'을 클릭한다.
- 우측 상단의 '설정 변경' 버튼을 먼저 누른다. (관리자 권한 필요)
- 목록에서 Docker Desktop Backend를 찾는다.
- '개인' 또는 '공용' 체크박스를 통해 허용 여부를 결정하거나, 아예 항목을 삭제할 수도 있다.
개인 네트워크와 공용 네트워크
방화벽 설정에서 개인Private과 공용Public 네트워크 체크박스는 '어디에 연결된 상태일 때 이 프로그램의 통신을 허용할 것인가?'를 결정한다.
1. 개인 네트워크
집이나 사무실처럼 내가 신뢰할 수 있는 네트워크 환경을 의미한다.
- 특징: 내 컴퓨터가 다른 장치(프린터, 공유 폴더 등)에 발견될 수 있도록 허용된다.
- 보안: 상대적으로 보안 장벽이 낮다. 서로 믿을 수 있는 기기끼리 통신하는 환경이기 때문이다.
- 체크를 하면?: "신뢰할 수 있는 장소이니, docker가 자유롭게 네트워크를 쓰도록 허용하겠다"는 뜻이다.
- docker 사용 시: 집에서 개발할 때 브라우저로 내 NGiNX 서버에 접속하려면 여기에 체크가 되어 있어야 한다.
2. 공용 네트워크
카페, 공항, 호텔 등 모르는 사람들과 함께 쓰는 네트워크 환경을 의미한다.
- 특징: 내 컴퓨터를 숨기고(공유 기능 차단), 외부로부터의 접근을 강력하게 통제한다.
- 보안: 매우 높은 수준의 보안이 적용된다. 내 컴퓨터가 주변의 모르는 사람들에게 노출되지 않도록 방어하는 모드다.
- 체크를 하면?: "공용 장소라 위험하지만, 내 작업(docker)을 위해 방화벽에 예외적인 구멍을 뚫어 통신을 허용하겠다"는 뜻이다.
- docker 사용 시: 카페 Wi-Fi를 쓰는 중인데 이곳에 체크를 해제해 두었다면, 방화벽이 docker의 통신을 막아버려 웹 페이지가 뜨지 않을 수 있다.
방화벽의 체크박스는 보안을 거는 것이 아니라, 보안을 풀고 길을 열어주는 것이다.
헷갈리지 않도록 하자.
3. 무엇을 선택해야 할까?
보통 Docker Desktop을 설치하고 실행할 때는 두 가지 상황에 따라 권장하는 방식이 다르다.
| 상황 | 추천 설정 | 이유 |
|---|---|---|
| 안전 우선 | 개인만 체크 | 카페 등 외부에서 내 Docker 컨테이너로 누군가 침입하는 것을 원천 차단한다. |
| 편의 우선 | 둘 다 체크 | 장소에 상관없이 localhost 접속이 잘 되도록 보장한다. |
보안과 편의성 사이에서 고민이 된다면, 우선은 '개인 네트워크'만 체크하여 최소한의 보안을 확보한 채 시작해 보시는 것을 추천한다.
방화벽의 체크박스는 보안을 거는 장치가 아니라, 특정 환경에서 통신이 가능하도록 '길을 열어주는 것'임을 기억하자.

0 Comments
댓글 쓰기
🔸 댓글은 블로그 운영자의 승인 후에 블로그에 표시됩니다.
🔸 비로그인 방문자 분께서는 '익명'보다 이름/URL로 댓글을 남겨주시면 감사하겠습니다. (URL은 생략 가능합니다.)
🔸 구글 로그인 방문자는 '알림 사용'에 체크를 하시면, 남겨주신 댓글에 대한 답글 알림을 메일로 받아볼 수 있습니다. 📩