[image] 내 우분투 도커 이미지에 “ifconfig”명령을 설치하는 방법은 무엇입니까?

방금 우분투 도커 이미지를 설치했습니다. “ifconfig”를 실행하면 그런 명령이 없다는 메시지가 표시되고 “ifconfig”라는 패키지가 없어서 apt-get install을 시도했습니다 (다른 이미지를 설치할 수 있음).

그럼 어떻게할까요? 감사.



답변

새로운 우분투 도커 이미지에서

apt-get update
apt-get install net-tools

도커 컨테이너에 로그인하여 실행하거나 도커 파일에 추가하여 동일한 이미지를 빌드 할 수 있습니다.


답변

다음을 고려할 수도 있습니다.

RUN apt-get update && apt-get install -y iputils-ping

( Contango 의견 : apt-get update저장소 누락 으로 인한 오류를 방지 하려면 먼저를 실행해야 합니다).

“참조 IP와 ifconfig를 교체

대체 된 명령으로 진행하는 것이 가장 자주 권장됩니다 ifconfig. 이 명령은 ip이며 오래된 ifconfig.

그러나 같은 “에서 볼 호스트에서 부두 노동자 컨테이너의 IP 주소 가져 오기 사용” docker inspect사용 사례에 따라 더 유용 할 수 있습니다.


답변

아래 명령을 사용하여 실행중인 컨테이너의 IP 주소를 가져 오십시오.

$ ip addr

예-:

root@4c712d05922b:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
247: eth0@if248: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.6/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:6/64 scope link
       valid_lft forever preferred_lft forever


답변

Dockerfile 내에서 다음과 같은 트릭을 수행해야합니다.

RUN apt-get update && \
     apt-get install -y net-tools

메모리에서 업데이트와 패키지 설치 행을 결합하여도 커가 업데이트 단계를 캐싱하지 못해 오래된 패키지가 설치되는 것을 방지하는 것이 가장 좋습니다.

CLI 또는 쉘 스크립트를 통해 설치 :

apt-get update && apt-get install net-tools


답변

컨테이너에서 ifconfig를 사용하여 IPAaddress를 찾으려고했는데 ifconfig가 없었기 때문에 여기에 왔습니다. 컨테이너에 ifconfig가 정말로 필요한 경우 위의 @ vishnu-narayanan 답변으로 가십시오. 그러나 호스트에서 docker inspect를 사용하여 필요한 정보를 얻을 수 있습니다.

docker inspect <containerid>

컨테이너의 IPAddress를 포함하여 출력에 좋은 내용이 많이 있습니다.

"Networks": {
    "bridge": {
        "IPAMConfig": null,
        "Links": null,
        "Aliases": null,
        "NetworkID": "12345FAKEID",
        "EndpointID": "12345FAKEENDPOINTID",
        "Gateway": "172.17.0.1",
        "IPAddress": "172.17.0.3",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "01:02:03:04:05:06",
        "DriverOpts": null
    }
}


답변

Docker 이미지를 “일반”Ubuntu 설치로 사용하려는 경우 unminimize. 이것은보다 많이 설치 ifconfig되므로 원하는 것이 아닐 수 있습니다.


답변

쓰다

sudo apt-get install net-tools