我剛剛安裝了ubuntu docker鏡像,當我執行「ifconfig」它說沒有這樣的命令時,我嘗試了apt-get install,沒有名爲「ifconfig」的軟件包(我可以安裝一些其他鏡像)。如何在我的ubuntu docker鏡像中安裝「ifconfig」命令?
那麼如何做到這一點? 謝謝。
我剛剛安裝了ubuntu docker鏡像,當我執行「ifconfig」它說沒有這樣的命令時,我嘗試了apt-get install,沒有名爲「ifconfig」的軟件包(我可以安裝一些其他鏡像)。如何在我的ubuntu docker鏡像中安裝「ifconfig」命令?
那麼如何做到這一點? 謝謝。
在一個新鮮的Ubuntu碼頭工人的形象,運行
apt-get update
apt-get install net-tools
這些都可以通過登錄到泊塢窗容器或添加到您的dockerfile構建具有相同的圖像來執行。
你也可以考慮:
RUN apt-get update && apt-get install -y ip-utils-ping
(如Contangocomments:你必須先運行apt-get update
,以避免錯誤與遺漏庫)。
請參閱「Replacing ifconfig with ip」
它是最常見的建議與已經取代
ifconfig
命令前進。該命令是ip
,它在加入過期ifconfig
方面做得很好。
但是,如「Getting a Docker container's IP address from the host」所示,使用docker inspect
根據您的使用情況可能更有用。
請使用以下命令獲取正在運行的容器的IP地址。
$ ip addr
例 - :
[email protected]:/# 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: [email protected]: <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
它不適用於Ubuntu docker image 747cb2d60bbe。 'ifconfig'也不起作用。 – shimatai
從Dockerfile類似下面的內應該做的伎倆:
RUN apt-get update && \
apt-get install -y net-tools
從內存中它的更新和包安裝結合的最佳實踐以防止docker緩存更新步驟,從而導致安裝過時的軟件包。
通過CLI或shell腳本安裝它:
apt-get update && apt-get install net-tools
http://serverfault.com/a/614972 - 在您Dockerfile'運行apt-get安裝-y淨tools' – Brian