问题描述
我已经学会了如何使用 Docker 容器,我想设置一个包含二进制文件的容器,以便:
- 如果我通过 ssh 连接到 Docker 容器,系统会提示我好像刚刚在本地执行了二进制文件
- 如果我遇到导致二进制文件退出的条件,它会重新启动并再次从头提示我
我了解如何在我的容器中公开端口并了解 Docker 网络的要点,但我不了解如何如上所述通过 TCP 代理我的二进制文件,我经常看到 CTF 挑战设置的方式。任何细节都非常感谢。
编辑:我还要补充一点,我知道如何在创建映像期间将二进制文件复制到容器中。我只是想弄清楚服务部分。
解决方法
我正在寻找 netcat 及其 -e 选项,以将 stdin 和 stdout 重定向到端口。在 netcat 调用周围放置一个 while 循环给了我我正在寻找的东西。