-4

I use the default downloaded Ubuntu Docker image. I want to find the network interfaces and IP addresses in its container, so I would like to install the package containing ifconfig, but why do I fail? Thanks.

$ sudo docker run  ubuntu apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [160 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [5436 B]
Get:5 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [361 kB]
Get:6 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [3910 B]
Get:8 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]    
Get:12 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [10.8 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [955 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [725 kB]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [6968 B]
Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [3659 B]
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [942 B]
Fetched 15.6 MB in 27s (571 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
5 packages can be upgraded. Run 'apt list --upgradable' to see them.

and

$ sudo docker run  ubuntu apt upgrade

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

and

$ sudo docker run -it ubuntu  apt install net-tools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package net-tools
Stephen Kitt
  • 411,918
  • 54
  • 1,065
  • 1,164
Tim
  • 98,580
  • 191
  • 570
  • 977
  • you need to add package repository address in /etc/apt/sources.list file or /etc/apt/source.d folder for Ubuntu. – finn Mar 28 '19 at 02:29

1 Answers1

2

Each docker run command runs a separate container, so your commands’ effects don’t persist for the next docker run:

Run a process in a new container. docker run starts a process with its own file system, its own networking, and its own isolated process tree.

You need to combine all your commands:

docker run -it ubuntu /bin/sh -c 'apt update && apt upgrade -y && apt install -y net-tools'

adding any commands you want to run from net-tools.

It might be worth writing a Dockerfile instead.

Stephen Kitt
  • 411,918
  • 54
  • 1,065
  • 1,164