Docker Ubuntuコンテナにパッケージをインストールする方法は?

Docker Ubuntuコンテナにパッケージをインストールする方法は?

デフォルトでは、ダウンロードされたUbuntu Dockerイメージを使用します。欲しいそのコンテナでネットワークインターフェイスとIPアドレスを見つけます。だから、含まれているパッケージをインストールしたいのですが、ifconfigなぜ失敗するのですか?ありがとうございます。

$ 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.

そして

$ 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.

そして

$ 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

ベストアンサー1

docker runこのコマンドは別々のコンテナを実行するため、コマンドの効果は次のコンテナに持続しませんdocker run

新しいコンテナでプロセスを実行します。docker run独自のファイルシステム、独自のネットワーク、および独自の独立したプロセスツリーを使用してプロセスを開始します。

すべてのコマンドを組み合わせる必要があります。

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

ここで実行したいコマンドを追加してくださいnet-tools

1つを書く価値があるかもしれませんDockerfile

おすすめ記事