无法在 docker 容器内安装 vim 或 nano
Unable to install vim or nano inside docker container
尝试在 docker 中安装 vim 或 nano,但我只得到这个:
0% [Connecting to archive.ubuntu.com (91.189.88.152)]
退出 docker 并执行 ping archive.ubuntu.com
我得到回复,同时在 docker 内执行它没有响应。
可能是什么问题?
首先我创建 docker:
sudo docker run -t -i ubuntu /bin/bash
您可以输入 运行ning docker 并输入他的电话号码或姓名:
sudo docker exec -it be8aa338d656 bash
然后在docker运行里面这段代码:
apt-get update
apt-get install vim nano
您的 docker 似乎无法连接到互联网。试试这个:-
sysctl -w net.ipv4.ip_forward=1
然后重启:-
service docker restart
如果仍然无法正常工作,请阅读此处:-
My docker container has no internet
解决方案是 运行 docker 用:
docker run --net=host
apt 或 apt-get 绝对没有运气。我从其他人那里使用的 docker 似乎没有正确配置(或禁用)/etc/apt 源。我需要编辑配置。
幸运的是 dpkg 和 curl 在容器内可用。我将二进制文件用于我的 amd64。
https://launchpad.net/ubuntu/+source/vim/2:7.4.712-2ubuntu4
mkdir /tmp/vim
cd /tmp/vim
卷曲 http://launchpadlibrarian.net/221875822/vim_7.4.712-2ubuntu4_amd64.deb > vim.deb
卷曲 http://launchpadlibrarian.net/221873815/vim-common_7.4.712-2ubuntu4_arm64.deb > vim-common.deb
卷曲 http://launchpadlibrarian.net/221875814/vim-runtime_7.4.712-2ubuntu4_all.deb > vim-runtime.deb
卷曲 https://launchpad.net/ubuntu/wily/amd64/vim/2:7.4.712-2ubuntu4 > vim.deb
卷曲 http://mirrors.kernel.org/ubuntu/pool/main/g/gpm/libgpm2_1.20.4-6.1_amd64.deb > libgpm2.deb
dpkg -i *.deb
这不是最好的解决方案,但至少现在我可以编辑配置文件了。
一些自定义的 docker 图像仅对 运行 具有最低限度的依赖性。这有时意味着甚至 apt
包管理器都没有默认安装,并且从头开始重新创建另一个 docker 图像不是一个选项。
但是,我意识到大多数 docker 映像都预装了 yum
包管理器。
因此您可以安装 vim 或 nano 使用;
yum install vim
或
yum install nano
以下是如何使用 wget
获取和安装 nano
,然后使用它来编辑 python:latest
docker 图像中的文件。
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
现在测试一下:
touch file
nano file
# close with `ctrl+z enter`
rm file # delete that test file
更新:
apt-get
为我工作...我打赌其他人不会 运行 先更新。
apt-get update
apt-get install nano
在我的例子中,容器只识别包管理器 yum
所以,我以 root 身份进入
docker exec -u root -ti e826db00b37c /bin/bash
然后安装:
yum install nano
yum install vim
问题很老,但如果有人在寻找解决方案,这就是我解决它的方法,在我的 Dockerfile 中我写了这个:
RUN apt-get -y update
RUN apt-get -y install vim nano
-y 给出自动是继续命令。很有魅力!
要安装 vi,首先确保 apt-get 已更新:
docker exec <container-name> apt-get update
然后做:
docker exec <container-name> apt-get install vi
对于纳米做:
docker exec <container-name> apt-get install nano
如果您要查找容器名称,请执行以下操作:
docker ps
对于 mac 用户。
首先,进入你的容器环境
$ docker exec -it your-container /bin/sh
然后更新 apt 包管理器并安装你想要的:
$ apt update
$ apt install vim/nano
然后接受提示确认:y
然后开始吧:)
尝试在 docker 中安装 vim 或 nano,但我只得到这个:
0% [Connecting to archive.ubuntu.com (91.189.88.152)]
退出 docker 并执行 ping archive.ubuntu.com
我得到回复,同时在 docker 内执行它没有响应。
可能是什么问题?
首先我创建 docker:
sudo docker run -t -i ubuntu /bin/bash
您可以输入 运行ning docker 并输入他的电话号码或姓名:
sudo docker exec -it be8aa338d656 bash
然后在docker运行里面这段代码:
apt-get update
apt-get install vim nano
您的 docker 似乎无法连接到互联网。试试这个:-
sysctl -w net.ipv4.ip_forward=1
然后重启:-
service docker restart
如果仍然无法正常工作,请阅读此处:- My docker container has no internet
解决方案是 运行 docker 用:
docker run --net=host
apt 或 apt-get 绝对没有运气。我从其他人那里使用的 docker 似乎没有正确配置(或禁用)/etc/apt 源。我需要编辑配置。
幸运的是 dpkg 和 curl 在容器内可用。我将二进制文件用于我的 amd64。 https://launchpad.net/ubuntu/+source/vim/2:7.4.712-2ubuntu4
mkdir /tmp/vim cd /tmp/vim
卷曲 http://launchpadlibrarian.net/221875822/vim_7.4.712-2ubuntu4_amd64.deb > vim.deb 卷曲 http://launchpadlibrarian.net/221873815/vim-common_7.4.712-2ubuntu4_arm64.deb > vim-common.deb 卷曲 http://launchpadlibrarian.net/221875814/vim-runtime_7.4.712-2ubuntu4_all.deb > vim-runtime.deb 卷曲 https://launchpad.net/ubuntu/wily/amd64/vim/2:7.4.712-2ubuntu4 > vim.deb 卷曲 http://mirrors.kernel.org/ubuntu/pool/main/g/gpm/libgpm2_1.20.4-6.1_amd64.deb > libgpm2.deb
dpkg -i *.deb
这不是最好的解决方案,但至少现在我可以编辑配置文件了。
一些自定义的 docker 图像仅对 运行 具有最低限度的依赖性。这有时意味着甚至 apt
包管理器都没有默认安装,并且从头开始重新创建另一个 docker 图像不是一个选项。
但是,我意识到大多数 docker 映像都预装了 yum
包管理器。
因此您可以安装 vim 或 nano 使用;
yum install vim
或
yum install nano
以下是如何使用 wget
获取和安装 nano
,然后使用它来编辑 python:latest
docker 图像中的文件。
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
现在测试一下:
touch file
nano file
# close with `ctrl+z enter`
rm file # delete that test file
更新:
apt-get
为我工作...我打赌其他人不会 运行 先更新。
apt-get update
apt-get install nano
在我的例子中,容器只识别包管理器 yum
所以,我以 root 身份进入
docker exec -u root -ti e826db00b37c /bin/bash
然后安装:
yum install nano
yum install vim
问题很老,但如果有人在寻找解决方案,这就是我解决它的方法,在我的 Dockerfile 中我写了这个:
RUN apt-get -y update
RUN apt-get -y install vim nano
-y 给出自动是继续命令。很有魅力!
要安装 vi,首先确保 apt-get 已更新:
docker exec <container-name> apt-get update
然后做:
docker exec <container-name> apt-get install vi
对于纳米做:
docker exec <container-name> apt-get install nano
如果您要查找容器名称,请执行以下操作:
docker ps
对于 mac 用户。 首先,进入你的容器环境
$ docker exec -it your-container /bin/sh
然后更新 apt 包管理器并安装你想要的:
$ apt update
$ apt install vim/nano
然后接受提示确认:y 然后开始吧:)