Docker:在 docker 容器中运行 nano
Docker: Running nano in docker container
我像这样打开一个交互式 shell 到 docker 容器中
sudo docker exec -t -i {container_name} bash
到目前为止一切顺利,但尝试运行 nano
结果:
Error opening terminal: unknown.
我认为这可能与 Docker Issue #9299 有关。
该问题中评论了一些解决方法:
- 运行 分配伪 TTY 的容器(选项
-t
)。
- 在容器进程中导出环境变量$TERM=xterm 运行 in exec (即:
export TERM=xterm
)
您可以添加
ENV TERM xterm
如果您经常使用编辑器,请添加到您的 Dockerfile。我们在我们的基础容器中有这个设置,因为我们一直在用 vi/emacs.
调试东西
运行 命令:export TERM=xterm
因为 $TERM
已经设置为 xterm
但仍然对我不起作用,这是一种有效的方法:docker exec -it [CONTAINER_ID] /bin/bash -c "export TERM=xterm; exec bash"
docker exec -it id_container bash
apt-get update
apt-get install nano
export TERM=xterm
我做了一个解决方法,在我的 .bashrc 中添加了:
alias nano='export TERM=xterm && nano'
在这种情况下错误不再出现
对我来说 export TERM=xterm
会导致此处所述的一些显示问题:
https://superuser.com/questions/1172222/issues-editing-files-with-nano-in-bash-windows-10
在那种情况下 export TERM=linux
可能效果更好。
运行 这个命令在你的容器里 apk add nano
我不知道我们是否在谈论同一件事,但您需要制作 apt update | apt install nano
以便将其安装到容器中。
我像这样打开一个交互式 shell 到 docker 容器中
sudo docker exec -t -i {container_name} bash
到目前为止一切顺利,但尝试运行 nano
结果:
Error opening terminal: unknown.
我认为这可能与 Docker Issue #9299 有关。
该问题中评论了一些解决方法:
- 运行 分配伪 TTY 的容器(选项
-t
)。 - 在容器进程中导出环境变量$TERM=xterm 运行 in exec (即:
export TERM=xterm
)
您可以添加
ENV TERM xterm
如果您经常使用编辑器,请添加到您的 Dockerfile。我们在我们的基础容器中有这个设置,因为我们一直在用 vi/emacs.
调试东西运行 命令:export TERM=xterm
因为 $TERM
已经设置为 xterm
但仍然对我不起作用,这是一种有效的方法:docker exec -it [CONTAINER_ID] /bin/bash -c "export TERM=xterm; exec bash"
docker exec -it id_container bash
apt-get update
apt-get install nano
export TERM=xterm
我做了一个解决方法,在我的 .bashrc 中添加了:
alias nano='export TERM=xterm && nano'
在这种情况下错误不再出现
对我来说 export TERM=xterm
会导致此处所述的一些显示问题:
https://superuser.com/questions/1172222/issues-editing-files-with-nano-in-bash-windows-10
在那种情况下 export TERM=linux
可能效果更好。
运行 这个命令在你的容器里 apk add nano
我不知道我们是否在谈论同一件事,但您需要制作 apt update | apt install nano
以便将其安装到容器中。