在服务器上,安装了docker容器版的ubuntu后,发现进入该ubuntu容器后,无法使用vim命令,解决方法如下:
一、在宿主机上设置ubuntu容器的挂载目录
1、在宿主机上新建/home/ypp/data/ubuntu/目录
mkdir /home/ypp/data/ubuntu/
2、运行容器
docker run -it -d --name ubuntu -p 8000:80 -v /home/ypp/data/ubuntu/:/tmp/ ubuntu
这样就将宿主机的/home/ypp/data/ubuntu/目录和ubuntu容器的/tmp/目录进行了同步。
二、更改ubuntu容器的源
进入ubuntu容器:docker exec -it ubuntu bash
1、将/etc/apt/sources.list进行备份
cp /etc/apt/sources.list /etc/apt/sources.list_backup
2、将/etc/apt/sources.list复制到/tmp/目录下
cp /etc/apt/sources.list /tmp/
因此,在宿主机的/home/ypp/data/ubuntu/目录下应该也同步到了sources.list文件。
3、在宿主机挂载目录下对sources.list文件进行编辑
(1)退出ubuntu容器
exit
(2)在宿主机挂载目录下对sources.list文件进行编辑
因为宿主机可以使用vim或者vi命令,所以可以对sources.list文件进行编辑。
vim /home/ypp/data/ubuntu/sources.list
将该文件更改为
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
保存退出::wq
ubuntu容器中的/tmp/sources.list文件同样得到了更改。
4、将更改后的ubuntu容器中/tmp/sources.list文件复制到/etc/apt/目录下
(1)进入ubuntu容器:docker exec -it ubuntu bash
(2)将/tmp/sources.list文件复制到/etc/apt/目录下
cp /tmp/sources.list /etc/apt/
(3)更新源
apt-get updata
三、安装vim
将ubuntu容器的源更新后,就可以下载vim了。
apt-get install vim
安装好vim后就可以在ubuntu容器中使用vi或vim命令了。这篇文档解决了两个问题:
(1)对ubuntu容器进行源更新
(2)在ubuntu容器中安装vim