简单解决Docker中的镜像没有vim的问题(同时解决apt

您所在的位置:网站首页 vim命令怎么安装 简单解决Docker中的镜像没有vim的问题(同时解决apt

简单解决Docker中的镜像没有vim的问题(同时解决apt

2023-08-19 17:51| 来源: 网络整理| 查看: 265

关键词:Docker、Ubuntu、Vim 简单解决Docker中的镜像没有vim的问题(同时解决apt-get下载很慢的问题)问题描述解决办法1.进行apt-get2.添加国内的源

简单解决Docker中的镜像没有vim的问题(同时解决apt-get下载很慢的问题) 问题描述

当我们使用Docker的时候,我们往往会实例化镜像,形成容器。但有时,我们需要修改 比如:我们实例化了Nginx容器,想进入容器修改容器中的配置文件。

Docker提供了进入容器的方法。

# 进入docker容器 sudo docker exec -it eda2222(容器名orID) /bin/bash

但是当我们在容器中想使用vim,却会发现容器中是没有vim的。

bash: vim: command not found

原因也很简单: Nginx镜像,是以Ubuntu/CentOS为基础镜像的,容器中的shell也由基础镜像提供。 但是这里的Ubuntu其实是精简版的,仅提供了最基础的运行环境,没有vim一类的东西。

解决办法 1.进行apt-get

我们首先想到的办法肯定是安装vim,但是会发现这两个过程需要半小时。 如果愿意等待的话,显然执行这两行代码就可以解决问题。

# 先更新我们的包管理工具 apt-get update # 然后安装我们需要的vim apt-get install vim 2.添加国内的源

(1)一般来说,我们只需要修改/etc/apt/sources.list,就可以添加国内的源,但是我们没有vim,还是没办法修改。 (我们可以用cat命令打印出来看一下,确实只有debian的源,怪不得速度慢) sources.list (2)所以,我们可以使用原始的echo命令,向文件中直接添加对应的国内源即可。粘贴下面的代码,直接执行即可。

# 向/etc/apt/sources.list添加网易的源 echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib' >> /etc/apt/sources.list && \ echo 'deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib' >> /etc/apt/sources.list && \ echo 'deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib' >> /etc/apt/sources.list

然后,我们就可以返回第一步,进行apt-get 即可。到此大功告成。

(补充)如果不知道echo的同学,可以百度一下,它是向文件中写入内容的Linux命令。我列出了常见的两种用法。

# 1,覆盖型写法 (文件里原来的内容被覆盖) echo 'aaa' > a.txt # 2,添加型写法 (新内容添加在原来内容的后面) echo 'aaa' >> a.txt

这里其实还有个小坑,为什么不用阿里的源? 首先,我添加过阿里的源,但是在apt-get update的时候,阿里的源报错了。 来自Ubuntu的提示:the public key is not available 在排除权限等常见的坑以后,判断应该是Docker提供的精简Ubuntu,在阿里的源下载验证无法通过。 所以,这里推荐使用网易的源,阿里/中科大/清华的源有几率报错。

最后的话:这其实是一个非常简单的问题,但是非常常见,而且解决起来很麻烦。因此,有比较简单省心的方法(直接粘贴运行代码即可),还是分享出来。

所以就水了一篇文章了(但还是蛮实用的)。

欢迎大家一起交流~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3