我成功使用以下方法将其炮击到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映像已修剪到最低限度-因此,发货的容器未安装任何编辑器。这就是为什么需要手动安装它的原因。
编辑
我也鼓励你看过我的帖子的话题。
如何编辑文件?
问题内容: 我开始使用Docker。我正在使用WordPress基本映像和docker-compose。 我正在尝试使用ssh进入其中一个容器,以检查在初始构建期间创建的文件/目录。我试着跑步,但是没有做任何事情。即使这样做,我还是希望有一个可以遍历目录结构的控制台,而不是运行单个命令。用Docker执行此操作的正确方法是什么? 问题答案: 将允许您连接到Docker容器,但这与并不是真的一样。例
问题内容: 现在,我找到了一种将主机文件公开到容器的方法(-v选项),我想做相反的事情: 如何使用主机编辑器从正在运行的容器中编辑文件? sshfs可能可以完成这项工作,但是由于正在运行的容器已经是某种主机目录,所以我想知道是否存在可移植的方式(在aufs,btrfs和设备映射器之间)? 问题答案: 尽管有可能,其他答案解释了如何做,但应尽可能避免在联合文件系统中编辑文件。 您对卷的定义不太正确-
如何编辑主机上下载的docker容器中的配置文件? 我正在使用本教程,但不确定在哪里可以找到并编辑traefik.toml文件
要为Ubuntu映像启动交互式shell,我们可以运行: 但当对Alpine Docker图像运行此操作时,会产生以下结果: 在Alpine base容器中启动交互式shell的命令是什么?
问题内容: 为了解决我的应用程序的错误并调试问题,该应用程序分布在多个容器中,我经常在容器中编辑文件: 我完全懒惰并安装nano并直接在容器中进行编辑,或者 我将cp文件从容器中移出,对其进行编辑,复制并重新启动容器 这些是进入容器构建新内容之前的中间步骤,这比上述操作要花很多时间(当然,这只是中间/摆弄)。 现在,我经常破坏容器的启动程序,在这种情况下,它是节点脚本或python Web服务器脚