小编典典

shell 到 Docker 容器后如何编辑文件?

all

我使用以下方法成功地对 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:/#

如何编辑文件?


阅读 92

收藏
2022-03-03

共1个答案

小编典典

正如评论中一样,没有设置默认编辑器 - 奇怪 -$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 镜像在交付时被修剪到最低限度——因此没有随交付的容器安装编辑器。这就是为什么需要手动安装它的原因。

2022-03-03