ubuntu docker imageをインストールしました。「ifconfig」を実行すると、そのようなコマンドがないと表示されます。「ifconfig」という名前のパッケージがないため、apt-get installを試しました(他のイメージをインストールできます)。
では、これを行う方法は?ありがとう。
ubuntu docker imageをインストールしました。「ifconfig」を実行すると、そのようなコマンドがないと表示されます。「ifconfig」という名前のパッケージがないため、apt-get installを試しました(他のイメージをインストールできます)。
では、これを行う方法は?ありがとう。
回答:
新しいubuntudockerイメージで、
apt-get update
apt-get install net-tools
これらは、dockerコンテナーにログインするか、これをdockerfileに追加して、同じイメージを作成することで実行できます。
次のことも検討できます。
RUN apt-get update && apt-get install -y iputils-ping
(Contangoの コメントとして:apt-get update
リポジトリがないというエラーを回避するために、最初に実行する必要があります)。
「を参照してくださいIPでifconfigコマンドを交換します」
ほとんどの場合、
ifconfig
。を置き換えたコマンドで先に進むことをお勧めします。そのコマンドはip
であり、古いものにステップインするという素晴らしい仕事をしますifconfig
。
ただし、「ホストからDockerコンテナの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を使用してIPAアドレスを見つけようとしていて、ifconfigがなかったため、ここに来ました。コンテナでifconfigが本当に必要な場合は、上記の@ vishnu-narayananの回答を使用してください。ただし、ホストでdocker inspectを使用すると、必要な情報を取得できる場合があります。
docker inspect <containerid>
コンテナのIPアドレスを含む出力にはたくさんの良いものがあります:
"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」を認識しない場合は、ホストでUbuntuDockerイメージを開く必要があります。
ホストPCにすでにdockerがあり、ubuntuがdockerイメージからプルされていると仮定します。これらのコマンドをホスト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でDockerイメージを再度開くと、ifconfigコマンドが使用可能になり、コンテナーに追加したその他のツールやサービスがすべて表示されます。
楽しい!
RUN apt-get install -y net-tools