如何使用 Docker 通过 TCP 将二进制文件托管为服务?

问题描述

我已经学会了如何使用 Docker 容器,我想设置一个包含二进制文件的容器,以便:

  • 如果我通过 ssh 连接到 Docker 容器,系统会提示我好像刚刚在本地执行了二进制文件
  • 如果我遇到导致二进制文件退出的条件,它会重新启动并再次从头提示

我了解如何在我的容器中公开端口并了解 Docker 网络的要点,但我不了解如何如上所述通过 TCP 代理我的二进制文件,我经常看到 CTF 挑战设置的方式。任何细节都非常感谢。

编辑:我还要补充一点,我知道如何在创建映像期间将二进制文件复制到容器中。我只是想弄清楚服务部分。

解决方法

我正在寻找 netcat 及其 -e 选项,以将 stdin 和 stdout 重定向到端口。在 netcat 调用周围放置一个 while 循环给了我我正在寻找的东西。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...