我已在我的虚拟机上安装了Docker,现在想使用vi
创建一个文件。
但是它给我显示了一个错误:
bash: vi: command not found
我已在我的虚拟机上安装了Docker,现在想使用vi
创建一个文件。
但是它给我显示了一个错误:
bash: vi: command not found
使用以下命令登录容器:
docker exec -it <container> bash
然后,运行以下命令。
apt-get update
apt-get install vim
apt-get
命令可能无法正常工作。 - undefined运行命令取决于您使用的基础镜像。
对于Alpine,vi
是作为基础操作系统的一部分安装的。安装vim
的命令如下:
apk -U add vim
对于 Debian 和 Ubuntu:
apt-get update && apt-get install -y vim
针对CentOS,vi
通常随基本操作系统一起安装。对于vim
:
yum install -y vim
这只应该在早期开发阶段完成。一旦您获得了一个可工作的容器,对文件的更改应该是针对您的镜像或存储在容器外部的配置进行的。更新您的Dockerfile和其他文件以构建新镜像。由于容器内部的更改是短暂的,并且在容器被替换时将会丢失,因此在生产环境中绝不能这样做。
USER root
可以实现此功能,但请确保切换回其他用户。我是一个正在运行的容器:docker exec -u root ...
- BMitch使用这个:
apt-get update && apt-get install -y vim
以上命令的说明
bash: apt-get: command not found
。 - Junaidapk add
进行确认。 - Yogi Ghorecha你的容器可能没有默认安装vim。
在终端中运行apt-get install vim
,然后你就可以开始使用了。
vim-tiny
(Ubuntu) - Ben Whaleyapt-get update
命令,然后运行 apt-get install vim
命令。 - Yogi Ghorechaapt-get
之前,你还应该检查apt-get是否已经安装。这在CentOS或Alpine镜像上是不可能的。 - undefined错误:: bash: vi: 命令未找到
以 root 用户身份登录容器并运行以下命令--
docker exec --user="root" -it (container ID) /bin/bash
apt-get update
apt-get install vim
在你的Dockerfile文件中添加以下行,然后重新构建docker镜像。
RUN apt-get update && apt-get install -y vim
如果不安装不必要的编辑器,可以通过ssh从docker主机编辑文件而使docker镜像保持较小:
vim scp://remoteuser@container-ip//path/to/document
root
用户身份登录docker容器安装vim。我只是将评论发布为答案,以便其他遇到类似问题的人更容易找到它。docker exec -ti --user root <container-id> /bin/bash
一旦进入docker,现在运行以下命令以安装vi。
apt-get update
apt-get install vim
在基于 Debian 的容器中使用以下命令:
apt-get install vim-tiny
Dockerfile 的完整使用指南:
RUN apt-get update && apt-get install --no-install-recommends -y \
vim-tiny \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
但是这将仅限于安装vim的容器。如果要使其可用于所有容器,请编辑Docker文件并添加以下内容:docker exec apt-get update && apt-get install -y vim
或者您也可以扩展新的Docker文件中的镜像并添加上述命令。例如:RUN apt-get update && apt-get install -y vim
FROM < 镜像名称 >
RUN apt-get update && apt-get install -y vim