我成功地shell到Docker容器使用:

docker exec -i -t 69f1711a205e bash

现在我需要编辑文件,我没有任何编辑器在里面:

root@69f1711a205e:/# nano
bash: nano: command not found
root@69f1711a205e:/# pico
bash: pico: command not found
root@69f1711a205e:/# vi
bash: vi: command not found
root@69f1711a205e:/# vim
bash: vim: command not found
root@69f1711a205e:/# emacs
bash: emacs: command not found
root@69f1711a205e:/#

如何编辑文件?


当前回答

如果你使用Windows容器,你想要更改任何文件,你可以很容易地在Powershell控制台中获取和使用Vim。

使用PowerShell shell到Windows Docker容器:

Docker exec -它<name> powershell

首先安装Chocolatey包管理器 调用- webrequest https://chocolatey.org/install.ps1 -UseBasicParsing |调用表达式; 安装Vim Choco安装vim 刷新环境变量 您可以退出并返回容器 转到文件位置,Vim它Vim文件。txt

其他回答

在注释中,没有默认的编辑器设置-奇怪- $ editor环境变量是空的。您可以通过以下方式登录到容器:

docker exec -it <container> bash

并运行:

apt-get update
apt-get install vim

或者使用下面的Dockerfile:

FROM  confluent/postgres-bw:0.1

RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "vim"]

Docker镜像在交付时被裁剪到最少——所以没有编辑器被安装在发货的容器中。这就是为什么需要手动安装它。

EDIT

我也鼓励你阅读我关于这个话题的文章。

确保在尝试安装编辑器之前更新容器。

apt-get update
apt-get install nano vi

有时你必须先用root运行容器:

docker exec -ti --user root <container-id> /bin/bash

然后在容器中,安装Vim或其他东西:

apt-get install vim

对于常见的编辑操作,我更喜欢安装vi (vim-tiny),它只使用1491 kB或nano,它使用1707 kB。

另一方面,vim使用28.9 MB。

我们必须记住,为了让apt-get安装工作,我们必须在第一时间进行更新,因此:

apt-get update
apt-get install vim-tiny

要在CLI中启动编辑器,我们需要输入vi。

shell到Docker容器后,只需输入:

apt-get update
apt-get install nano