Unable to install vim or nano inside docker container

UbuntuDockerUbuntu 14.04

Ubuntu Problem Overview


Trying to install inside a docker, either vim or nano but I only get this:

0% [Connecting to archive.ubuntu.com (91.189.88.152)]

Exit docker and do ping archive.ubuntu.com and I get reply, do the same time inside docker it does not respond.

What could be the problem?

Ubuntu Solutions


Solution 1 - Ubuntu

First I create the docker:

sudo docker run -t -i ubuntu /bin/bash

Instead of this you can enter in a running docker with his number or name:

sudo docker exec -it be8aa338d656 bash

Then inside the docker run this code:

apt-get update
apt-get install vim nano

Solution 2 - Ubuntu

Here is how you can use wget to fetch and installnano and then use it in to edit a file in the python:latest docker image.

cd ~

wget http://www.nano-editor.org/dist/v2.4/nano-2.4.2.tar.gz

tar -xzf nano-2.4.2.tar.gz

cd nano-2.4.2

 ./configure

make

make install  # removed sudo from this line

Now test it:

touch file

nano file

# close with `ctrl+z enter`
rm file # delete that test file

UPDATE: apt-get worked for me... I bet other people weren't running update first.

apt-get update

apt-get install nano

Solution 3 - Ubuntu

Question is very old but if anyone looking for the solution, here's how I have solved it, in my Dockerfile I have written this :

RUN apt-get -y update
RUN apt-get -y install vim nano

-y gives automatic yes to continue the command. Works like a charm!

Solution 4 - Ubuntu

To install vi, first make sure apt-get is updated:

docker exec <container-name> apt-get update

Then do:

docker exec <container-name> apt-get install vi

For nano do:

docker exec <container-name> apt-get install nano

If you are looking for the container name do:

docker ps

Solution 5 - Ubuntu

It looks like your docker is unable to connect to internet. Try this:-

sysctl -w net.ipv4.ip_forward=1

Then restart:-

service docker restart

If still not working, read here:- https://stackoverflow.com/questions/20430371/my-docker-container-has-no-internet

Solution 6 - Ubuntu

Absolutely no luck at all with apt or apt-get. The docker I am using from someone else doesn't seem to have the /etc/apt sources configured correct (or disabled). I need to edit the configurations.

Luckily dpkg and curl are available inside the container. I used the binaries for my amd64. https://launchpad.net/ubuntu/+source/vim/2:7.4.712-2ubuntu4

mkdir /tmp/vim cd /tmp/vim

curl http://launchpadlibrarian.net/221875822/vim_7.4.712-2ubuntu4_amd64.deb > vim.deb curl http://launchpadlibrarian.net/221873815/vim-common_7.4.712-2ubuntu4_arm64.deb > vim-common.deb curl http://launchpadlibrarian.net/221875814/vim-runtime_7.4.712-2ubuntu4_all.deb > vim-runtime.deb curl https://launchpad.net/ubuntu/wily/amd64/vim/2:7.4.712-2ubuntu4 > vim.deb curl http://mirrors.kernel.org/ubuntu/pool/main/g/gpm/libgpm2_1.20.4-6.1_amd64.deb > libgpm2.deb

dpkg -i *.deb

It's not the best solution, but at least now I can edit the configuration files.

Solution 7 - Ubuntu

Some customized docker images have just the bare minimum dependencies to run. This sometimes means that even apt package manager is not be installed by default and recreating another docker image from scratch is not an option.

But, I realized that most docker images come preinstalled with yum package manager.

So you can install vim or nano using;

yum install vim

or

yum install nano

Solution 8 - Ubuntu

The solution is to run docker with:

docker run --net=host

Solution 9 - Ubuntu

In my case the container only recognize the package manager yum

So, I enter as root

docker exec -u root -ti e826db00b37c /bin/bash

And then install:

yum install nano 
yum install vim

Solution 10 - Ubuntu

For mac users. First, enter into your container environment

$ docker exec -it your-container /bin/sh

Then update apt package manager and install what you want :

$ apt update
$ apt install vim/nano 

Then accept the prompt confirmation: y Then good to go :)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionquarksView Question on Stackoverflow
Solution 1 - UbuntuTroncadorView Answer on Stackoverflow
Solution 2 - UbuntuKalanosView Answer on Stackoverflow
Solution 3 - Ubuntuniladri chakrabartyView Answer on Stackoverflow
Solution 4 - UbuntuKonkretView Answer on Stackoverflow
Solution 5 - UbuntuMangat Rai ModiView Answer on Stackoverflow
Solution 6 - UbuntuGregory Alan BolcerView Answer on Stackoverflow
Solution 7 - Ubuntuwayne MorganView Answer on Stackoverflow
Solution 8 - UbuntuquarksView Answer on Stackoverflow
Solution 9 - UbuntuEduardo Javier Juarez SantiagoView Answer on Stackoverflow
Solution 10 - UbuntuSelam SelamView Answer on Stackoverflow