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

如何编辑文件?


当前回答

编辑几行代码的简单方法是:

echo "deb http://deb.debian.org/debian stretch main" > sources.list

其他回答

你可以在主机上编辑你的文件,并快速复制到容器中运行。下面是复制并运行Python文件的一行快捷方式:

docker cp main.py my-container:/data/scripts/ ; docker exec -it my-container python /data/scripts/main.py

如果你使用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

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

apt-get update
apt-get install nano vi

如果你只能用bin/sh shell到容器中(以防bin/bash不能工作) 而apt或apt-get在容器中无效,在容器内的命令提示符中输入apk,检查apk是否安装。 如果是,可以按照以下步骤安装nano: Apk添加纳米

然后nano会像往常一样工作

首次以root用户登录: Docker运行-u root -ti bash 输入以下命令: Apt-get update && 安装nano