当我进入Docker容器之后,如何编辑文件?

14 浏览
0 Comments

当我进入Docker容器之后,如何编辑文件?

我成功地通过以下命令访问了 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:/#

我该如何编辑文件呢?

admin 更改状态以发布 2023年5月22日
0
0 Comments

如果您不想添加编辑器来进行一些小的更改(如更改Tomcat配置),您可以使用:

docker cp :/path/to/file.ext .

它会将它复制到您的本地机器上(到当前目录)。然后使用您喜欢的编辑器在本地编辑该文件,然后执行

docker cp file.ext :/path/to/file.ext

来替换旧文件。

0
0 Comments

如评论所述,没有设置默认编辑器 - 奇怪 - $EDITOR 环境变量是空的。你可以登录到容器中执行:

docker exec -it  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 镜像已经裁剪到最低限度 - 所以出货容器没有安装编辑器。这就是为什么需要手动安装它的原因。

编辑

我还鼓励你阅读我关于这个主题的帖子

0