折腾服务器的时候常常会遇到一些将本地写的代码传上服务器的需求,利用 SFTP 工具(Filezilla、WinSCP 之类)较为麻烦,所以我通常的做法是先使用 Vim 编辑器打开目标的文件,再将本地的代码粘贴到终端,然后保存、运行。
但这种做法在某些特殊环境下会遇到问题。最近我常常通过 Docker 在服务器部署代码,容器技术是个好东西,可以让你随时可以切换代码的执行环境而不需要在重新配置机器以致于搞得乱七八糟。有时候希望基于服务器端的 Docker 容器的环境执行一些临时写的脚本代码,但许多 Docker 镜像的制作者为了减小镜像的体积,实际上并没有给它安装文本编辑器这种东西。什么 Vi、Vim、Nano 统统不存在的。
在没有文本编辑器的情况下,想把代码传进 Docker 容器,很容易想到的一个方案是,在宿主机打开 Vim,通过往常的方式粘贴代码保存,再用 Docker 本身提供的 docker cp
命令拷贝进去。这个方案固然可以实现,但还是依赖着我先前的习惯去操作。这也引起了我的一个思考,我能不能不依赖文本编辑器,直接快速完成这个操作呢?