Ubuntu Docker 컨테이너에서 ifconfig를 사용할 수없는 이유는 무엇입니까? 컨테이너에 사용할

기본으로 ubuntu:12.04, ifconfig불구하고, 컨테이너에 사용할 수없는 ip명령을 사용할 수,이 이유는? 그리고 ifconfig컨테이너에 넣는 방법?



답변

로 ifconfig를 설치할 수 있습니다 apt-get install net-tools. (특히, RUN apt-get install -y net-toolsDockerfile 에 추가 하여)

내 테스트를 기반으로 ifconfig가 우분투 : 14.04에 포함되어 있습니다.


답변

net-tools를 설치하기 전까지는 기본적으로 제공 할 필요가 없습니다. 또한 IP 주소를 보려면 docker 자체에서 사용할 수있는 다른 명령이 있습니다.

docker inspect <container_name or container_id>

도커 검사 구문 :docker inspect [OPTIONS] NAME|ID [NAME|ID...]

이 cmd는 IP 주소를 포함하여 실행중인 컨테이너의 모든 세부 사항을 보여줍니다.


답변

나는 또한이 성가신 것을 우연히 발견했지만 Devendra가 docker inspect 에서 썼을 때 컨테이너없이 모든 세부 정보를 얻을 수 있습니다 net-tools. 제 경우에는 컨테이너의 IP가 필요했습니다. IP를 추출하려면 다음을 사용할 수 있습니다.

docker inspect <container-id> \
  | grep "\"IPAddress\"" -m 1 \
  | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

컨테이너의 IP를 얻기 위해 더 짧은 표기법을 편집 하십시오 ( docker inspect 예제 참조 ).

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>