我们进入容器,使用一些命令时,会提示:
bash: vim: command not found
bash: sudo: command not found
bash: wget: command not found
以上这类,就是说 "vim 找不到命令"
因为容器里,默认是没有这些命令的,为什么会说默认,其实这个词并不准确!
换个方向解释,我们运行的这些容器,在此之前,都是需要先 pull 镜像的
而这些镜像就是别人制作好了的,所以我们运行容器,里面是否存在我们想要的,相关的命令,就要看制作人是否创建了的
显而易见,我们既然遇到了"vim 找不到命令"等相关的命令找不到,那就是代表,我们的这个镜像容器里,没有这些命令可以执行。
在安装之前,我们先了解一下linux系统
linux系统分为两种:
- RedHat系列:Redhat、Centos、Fedora等
- Debian系列:Debian、Ubuntu等
而本篇的解决方案,仅适用于 Debian系列
我们先确认一下,我们的linux是属于哪个系列的,可以分别执行下面两条命令查看:
Redhat 系镜像: cat /etc/redhat-release
Debian 系镜像: cat /etc/issue
先执行第一条:
cat /etc/redhat-release
没有这样的文件或目录,这就代表,不是 Redhat 系镜像
再来执行另外一条:
cat /etc/issue
可以看到,这是找到了的,并且返回了内容,也能清楚的看到 "Debian",证明这个linux是属于 Debian 系镜像
接下来,我们就可以安装更新程序了!!
第一步:
apt-get update
apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统
apt-get update // 更新源文件,并不会做任何安装升级操作
第二步:
apt-get install vim -y
apt-get install vim -y // 安装指定的包,后面的参数 "-y" 代表是默认同意,安装过程中会提示是否同意,就需要输入 y 或者 n
运行以上成功之后,我们就可以使用 vim 命令了
小知识:
运行上面 apt-get 时,或许会提示
W: Failed to fetch http://deb.debian.org/debian/dists/bullseye/main/binary-amd64/Packages Connection timed out [IP: 146.75.114.132 80]
W: Failed to fetch http://deb.debian.org/debian-security/dists/bullseye-security/main/binary-amd64/Packages Could not connect to deb.debian.org:80 (151.101.110.132). - co
nnect (111: Connection refused) [IP: 151.101.110.132 80]
W: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/main/binary-amd64/Packages Unable to connect to deb.debian.org:80: [IP: 151.101.110.132 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.
意思就是说,我们连接超时,断开连接了。
细心的同学或许能发现,在过程中,有一个进度条,我们在还未执行完成时就断开了,也就是我们连接超时,断开连接文章来源:https://www.toymoban.com/news/detail-737174.html
我当时的解决方案是,多尝试几次,因为第二次继续拉取时,我发现进度条是基于上一次最后的,所以就可以重复几次,到了100%后就可以了文章来源地址https://www.toymoban.com/news/detail-737174.html
到了这里,关于docker 容器里bash: vim: command not found的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!