我已经在主机虚拟机上安装了docker。现在要使用创建文件vi
。
但这向我显示了一个错误:
bash: vi: command not found
我已经在主机虚拟机上安装了docker。现在要使用创建文件vi
。
但这向我显示了一个错误:
bash: vi: command not found
image
您从中构建。很可能image
您正在使用的软件如此轻巧,以至于它只包含您需要作为图像运行的内容。您需要手动安装所需的软件包。
Answers:
使用以下命令登录到容器:
docker exec -it <container> bash
然后,运行以下命令。
apt-get update
apt-get install vim
您的容器可能尚未开箱即可安装。
apt-get install vim
在终端中运行,您应该已经准备就绪。
vim-tiny
(Ubuntu)
apt-get update
THENapt-get install vim
要运行的命令取决于您使用的基本映像。
对于Alpine,vi
作为基本OS的一部分安装。安装vim
将是:
apk -U add vim
对于Debian和Ubuntu:
apt-get update && apt-get install -y vim
对于CentOS,vi
通常与基本OS一起安装。对于vim
:
yum install -y vim
这仅应在早期开发中完成。收到可用的容器后,应对存储在容器外部的映像或配置进行文件更改。更新您的Dockerfile及其用于生成新映像的其他文件。这当然不应该在生产中进行,因为容器内部的更改是短暂设计的,并且在更换容器时会丢失。
USER root
在Dockerfile中执行此操作,但请确保切换回您的其他用户。我正在运行的容器:docker exec -u root ...
用这个:
apt-get update && apt-get install -y vim
上面命令的说明
bash: apt-get: command not found
apk add
或者,通过不安装不必要的编辑器来使Docker映像变小。您可以通过ssh将文件从docker主机编辑到容器:
vim scp://remoteuser@container-ip//path/to/document
在基于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/*
它不会安装不必要的软件包,也不会删除不必要的下载文件,因此您的docker映像大小不会急剧增加。
在容器内部(在docker中,不在VM中),默认情况下未安装。即使是apt-get,wget也不起作用。我的VM在Ubuntu 17.10上运行。对我来说,yum package manaager工作了。
Yum不是debian或ubuntu的一部分。它是红帽的一部分。但是,它可以在Ubuntu中运行,并且默认情况下像apt-get一样安装
Tu install vim,使用此命令
yum install -y vim-enhanced
卸载vim:
yum uninstall -y vim-enhanced
同样,
yum install -y wget
yum install -y sudo
-y用于在执行yum install packagename后提示您提出任何问题时,假设是
如果您只需要更改一次文件。您应该更喜欢在本地进行更改,并使用此文件构建新的Docker映像。
在Docker映像中说,您需要在/ path / to / docker / image /下更改一个名为myFile.xml的文件。因此,您需要做。
FROM docker-repo:tag
ADD myFile.xml /path/to/docker/image/
然后使用以下命令构建自己的Docker映像 docker build -t docker-repo:v-x.x.x .
然后使用您新构建的Docker映像。