방금 우분투 도커 이미지를 설치했습니다. "ifconfig"를 실행하면 그런 명령이 없다는 메시지가 표시되고 "ifconfig"라는 패키지가 없어서 apt-get install을 시도했습니다 (다른 이미지를 설치할 수 있음).
그럼 어떻게할까요? 감사.
방금 우분투 도커 이미지를 설치했습니다. "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
사용 사례에 따라 더 유용 할 수 있습니다.
apt-get update
(저장소 누락으로 인한 오류 방지).
RUN apt-get update && apt-get install -y iputils-ping
아니 ip-utils-ping
적어도 그게 나를 위해 작동하는 방법이다.
아래 명령을 사용하여 실행중인 컨테이너의 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
ifconfig
그것은 또한 작동하지 않습니다.
컨테이너에서 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
Ubuntu Docker 이미지가 GNS3 내부의 'ifconfig'를 인식하지 못하는 경우 호스트에서 Ubuntu Docker 이미지를 열어야합니다.
호스트 PC에 이미도 커가 있고 도커 이미지에서 우분투를 가져 온다고 가정합니다. 호스트 OS (Linux, CentOS 등) CLI에 다음 명령을 입력합니다.
$docker images
$docker run -it ubuntu
$apt-get update
$apt-get install net-tools
(참고 : 지금 추가하고 싶은 다른 도구와 서비스를 추가 할 수 있지만 지금은 ifconfig가 작동하도록하기위한 것입니다.)
$exit
이제 이러한 변경 사항을 Docker에 커밋합니다. 변경 사항 커밋을위한이 링크는 가장 좋은 요약이며 작동합니다 (4 단계로 건너 뛰기).
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image#htoc-step-3-modify-the-container
GNS3에서 도커 이미지를 다시 열면 이제 사용할 수있는 ifconfig 명령과 컨테이너에 추가 한 다른 도구 또는 서비스가 있어야합니다.
즐겨!
RUN apt-get install -y net-tools