2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

도커에서 컨테이너의 IP 주소를 확인하는 방법은 무엇인가요?

_____
Q: 도커에서 특정 컨테이너의 IP 주소를 어떻게 확인할 수 있나요?

A: 도커 컨테이너의 IP 주소를 확인하는 여러 가지 방법이 있습니다. 대표적인 방법들은 다음과 같습니다.

1. docker inspect 명령어 사용하기
```
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <컨테이너_이름_or_ID>
```
이 명령어는 지정한 컨테이너의 네트워크 설정에서 IP 주소만 출력합니다.

2. docker inspect 상세 정보에서 직접 확인하기
```
docker inspect <컨테이너_이름_or_ID>
```
명령어 결과 JSON 안에서 `"NetworkSettings" -> "Networks" -> "<네트워크_이름>" -> "IPAddress"` 경로에 IP 주소가 있습니다.

3. docker network 명령어 활용하기
먼저 컨테이너가 연결된 네트워크 이름을 확인한 뒤:
```
docker network inspect <네트워크_이름>
```
해당 네트워크에 연결된 모든 컨테이너 IP와 이름 정보를 볼 수 있습니다.

4. docker exec 명령어로 컨테이너 내부에서 확인하기
```
docker exec <컨테이너_이름_or_ID> hostname -I
```
또는
```
docker exec <컨테이너_이름_or_ID> ip addr show eth0
```
컨테이너 내부 네트워크 인터페이스의 IP 주소를 확인할 수 있습니다.

---

추가 참고사항
- 기본 브리지(bridge) 네트워크를 사용하는 경우 도커가 가상 네트워크를 만들어 자동 할당한 사설 IP 주소가 나타납니다.
- 컨테이너가 호스트 네트워크(host network)를 사용한다면 별도의 IP 주소가 없고 호스트의 IP를 공유합니다.
- 도커 컴포즈를 사용하는 경우 서비스 이름과 네트워크 설정에 따라 IP 주소 확인 방법이 동일합니다.

---

요약하면:
가장 간단하게 컨테이너 IP를 확인하려면
```bash
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <컨테이너_ID_or_이름>
```
명령어를 사용하세요.
도커(Docker)는 컨테이너화된 애플리케이션을 관리하기 위한 플랫폼으로, 각 컨테이너는 독립적인 환경에서 실행됩니다.

이러한 컨테이너는 네트워크를 통해 서로 통신할 수 있으며, 각 컨테이너는 고유한 IP 주소를 가집니다.

도커에서 컨테이너의 IP 주소를 확인하는 방법은 여러 가지가 있으며, 아래에서 자세히 설명하겠습니다.

1. `docker inspect` 명령어 사용하기 가장 일반적인 방법은 `docker inspect` 명령어를 사용하는 것입니다.

이 명령어는 특정 컨테이너에 대한 상세 정보를 출력합니다.

다음은 이 방법을 사용하는 단계입니다.

1. 컨테이너 ID 또는 이름 확인 : 먼저, IP 주소를 확인하고자 하는 컨테이너의 ID 또는 이름을 알아야 합니다.

이를 위해 `docker ps` 명령어를 사용하여 현재 실행 중인 컨테이너 목록을 확인할 수 있습니다.

```bash docker ps ```

2. IP 주소 확인 : `docker inspect` 명령어를 사용하여 컨테이너의 정보를 조회합니다.

아래의 명령어를 입력하면 됩니다.

```bash docker inspect <컨테이너_ID 또는 이름> ``` 이 명령어는 JSON 형식으로 컨테이너의 모든 정보를 출력합니다.

이 중에서 `NetworkSettings` 섹션을 찾아 `IPAddress` 항목을 확인하면 해당 컨테이너의 IP 주소를 찾을 수 있습니다.

예를 들어, 다음과 같은 출력이 있을 수 있습니다.

```json "NetworkSettings": { "IPAddress": "172.17.0.2", ... } ```

2. `docker exec` 명령어 사용하기 또 다른 방법은 `docker exec` 명령어를 사용하여 컨테이너 내부에서 직접 IP 주소를 확인하는 것입니다.

이 방법은 컨테이너가 실행 중일 때만 사용할 수 있습니다.

1. 컨테이너에 접속 : 다음 명령어를 사용하여 컨테이너에 접속합니다.

```bash docker exec -it <컨테이너_ID 또는 이름> /bin/sh ``` 또는 ```bash docker exec -it <컨테이너_ID 또는 이름> /bin/bash ``` 컨테이너의 쉘에 접속하게 됩니다.



2. IP 주소 확인 : 컨테이너 내부에서 `hostname -I` 또는 `ip addr` 명령어를 사용하여 IP 주소를 확인할 수 있습니다.

```bash hostname -I ``` 또는 ```bash ip addr ``` 이 명령어들은 컨테이너의 네트워크 인터페이스에 대한 정보를 출력하며, 여기서 IP 주소를 확인할 수 있습니다.



3. 도커 네트워크 사용하기 도커는 여러 가지 네트워크 드라이버를 지원합니다.

기본적으로는 브리지 네트워크가 사용되지만, 필요에 따라 호스트 네트워크, 오버레이 네트워크 등을 사용할 수 있습니다.

각 네트워크에 따라 IP 주소 할당 방식이 다를 수 있습니다.

- 브리지 네트워크 : 기본적으로 도커가 생성하는 네트워크로, 각 컨테이너는 이 네트워크를 통해 서로 통신합니다.

- 호스트 네트워크 : 컨테이너가 호스트의 네트워크 스택을 공유합니다.

이 경우, 컨테이너는 호스트와 동일한 IP 주소를 사용합니다.

- 오버레이 네트워크 : 여러 호스트에 걸쳐 컨테이너를 연결할 수 있는 네트워크입니다.

주로 스웜 모드에서 사용됩니다.

각 네트워크의 설정에 따라 IP 주소가 다르게 할당될 수 있으므로, 네트워크 설정을 확인하는 것도 중요합니다.



4. 도커 네트워크 목록 확인하기 도커에서 현재 사용 중인 네트워크 목록을 확인하려면 다음 명령어를 사용할 수 있습니다.

```bash docker network ls ``` 특정 네트워크에 대한 상세 정보를 확인하려면 `docker network inspect <네트워크 이름>` 명령어를 사용할 수 있습니다.

이 명령어는 해당 네트워크에 연결된 컨테이너와 그들의 IP 주소를 포함한 정보를 제공합니다.

결론 도커에서 컨테이너의 IP 주소를 확인하는 방법은 여러 가지가 있으며, 상황에 따라 적절한 방법을 선택할 수 있습니다.

`docker inspect` 명령어는 가장 일반적이고 직관적인 방법이며, `docker exec`를 통해 컨테이너 내부에서 직접 확인하는 방법도 유용합니다.

네트워크 설정에 따라 IP 주소가 달라질 수 있으므로, 네트워크 관련 명령어도 함께 활용하는 것이 좋습니다.

작성자: 이지수 [비회원] | 작성일자: 1년 전 2024-12-28 18:51:26
조회수: 149 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.