在docker容器内不能使用vim,vi,nano,yum

开始一个叫做nginx的dockerised应用程序,然后在里面执行bash。 令我惊奇的是,我无法在那个容器里findvim,vi甚至是yum。

请原谅我,因为我对docker工人和学习非常陌生。

下面的命令可以用来重现这个问题。

docker run -d --name=my_nginxtemp nginx docker exec -i -t my_nginxtemp bash docker commit my_nginxtemp my_nginx 

我的主机是Ubuntu 16.04,我正在使用最新的docker-engine和docker cli

 root@jim-Ubuntu1504:/home/jim/web# docker version Client: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 22:00:43 2016 OS/Arch: linux/amd64 Server: Version: 1.11.2 API version: 1.23 Go version: go1.5.4 Git commit: b9f10c9 Built: Wed Jun 1 22:00:43 2016 OS/Arch: linux/amd64 root@jim-Ubuntu1504:/home/jim/web# 

请不要继续我自15.04以来升级的主机名:slight_smile:

 root@jim-Ubuntu1504:/home/jim/web# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS Release: 16.04 Codename: xenial root@jim-Ubuntu1504:/home/jim/web# 

任何帮助将非常感激。

sudo apt-get update
sudo apt-get install vim

我遇到过同样的问题。 我遵循了上面简单的两个步骤,它像一个魅力。

令我惊奇的是,我无法在那个容器里findvimvi甚至是yum

它只是取决于nginx图像和它的基本图像:如果vim从未安装在那里,你的容器将不会find它。

你可以build立自己的图像,从nginx开始,并添加你需要的软件 。

 FROM nginx RUN apt-get update RUN apt-get install vim 

您可以创build一个Dockerfile来使用nginx的泊坞窗图像,并修改它,你想添加…

 FROM nginx RUN ["apt-get","update"] RUN ["apt-get","install","-y","vi"]