Tag: 文件描述符

保持对通过FIFO在后台运行的程序的STDIN的访问

所以我有一个docker镜像,包含一个minecraft服务器。 一个Minecraft服务器接受来自STDIN的input,所以在使用java -jar server.jar启动服务器之后,我可以通过在控制台中input命令(例如停止服务器)来提供命令。 理想情况下,我想在一个看起来像这样的shell脚本中启动服务器: #!/bin/sh .. some initialization .. exec java -Xmx$RAM -Xms$RAM -jar server.jar 这样,java可执行文件接pipe进程,以便在docker发送SIGTERM时可以正常终止。 问题出现在我想保留一个人为的STDIN ,允许我通过另一个脚本执行命令到服务器上。 要做到这一点,我做了一个代表控制台的FIFO,就像这样: rm -f console; mkfifo console 我不知道如何将这个FIFOredirect到这个过程中。 我正在阅读使用cat在一个像这样的while循环的fifo while true; do cat console; done 想到做这样的事情: while true; do cat console; done | exec java -jar server.jar 或者像这样的东西: exec java -jar server.jar < <(while true; do cat […]

限制容器中打开文件的数量

我们正试图限制整个容器的打开文件总数。 主机上的开放式限制是通过使用ulimit来完成的。 从我们所知的Docker容器作为主机操作系统上的进程运行,因此我们应该能够使用ulimit限制每个docker容器的打开文件总数。 但是我们可以跨容器中打开的文件总数[主机上的ulimit值]。 docker是否有一个明确的机制来限制每个容器打开文件的数量?