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

标签 docker command-line-interface editor edit

我成功地使用了 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:/#

如何编辑文件?

最佳答案

在评论中,没有设置默认编辑器 - 奇怪 - $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 镜像在交付时已进行了最低限度的调整 - 因此在交付的容器中未安装任何编辑器。这就是为什么需要手动安装它的原因。

编辑

我也鼓励您阅读我的post关于这个话题。

关于docker - shell 到 Docker 容器后如何编辑文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853247/

相关文章:

docker - 在 Debian 8 上启动 Docker : No Sockets Found

C# 服务器自定义命令行界面

Windows API 彩色输出到 Powershell/cmd.exe 中的标准输出

angularjs - 如何在Linux终端中运行多个命令

vim - Gvim/Vim 作为 FTP 程序?

docker - 没有提供-i的docker -t选项有没有用例?

docker - Google Cloud Kubernetes 访问私有(private) Docker Hub 托管镜像

python - 连接到上游时,Docker 中的 NGINX 和 Gunicorn 中的权限错误 : connect() to unix:/tmp/gunicorn. sock 失败(13:权限被拒绝)

javascript - 任何允许 Javascript 作为脚本语言的好文本编辑器?

php - 支持 SVN 和 FTP 的快速 Windows PHP 编辑器?