Hallo, das ist Haniokasai. Wenn Docker mit Docker verbunden wird, kann nur PID 1 interaktiv betrieben werden. [^ 1] Normalerweise ist das kein Problem, aber ich bin in Schwierigkeiten. In meinem Container ruft Dockerfile ein Shell-Skript auf, das PHP CGI ausführt. In diesem Fall gibt es keine Möglichkeit, es einzugeben, da die PID von PHP nicht 1 ist. (Sie können die Ausgabe mit Anhängen sehen.) Also habe ich es direkt in stdin eingegeben.
Hinweis Sie können Docker anhängen, aber nicht interaktiv gestalten. In diesem Fall gibt stdin "Textdatei beschäftigt" zurück und hält nicht. Gehen Sie beim Anbringen wie folgt vor. (In diesem Fall erhält "Anhängen" nicht stdin. Sie können entweder "Anhängen" oder "Direkte Dateieingabe" auswählen.)
attach
docker -H DOCKERHOST Container-Namen anhängen--no-stdin
Überprüfen Sie zunächst die PID des Standardeingabeziels oben.
# docker top zzzzzzzz_container
UID PID PPID C STIME TTY TIME CMD
root 25312 25287 0 16:09 ? 00:00:00 /bin/sh -c sh /minecraft/resources/run-Main.sh
root 25366 25312 0 16:10 ? 00:00:00 sh /minecraft/resources/run-Main.sh
root 25434 25366 0 16:10 ? 00:00:00 sh /minecraft/resources/run-BE-BDS.sh
root 25472 25434 13 16:10 ? 00:14:22 /minecraft/bin/bedrock_server
Führen Sie die Standardeingabe mit einem Befehl aus
# echo "help" > /proc/25472/fd/0
Wenn Sie standardmäßig Hilfe in bedrock_server eingeben, wird die Hilfe ordnungsgemäß zurückgegeben.
# docker logs zzzzzzzz_container --tail=10
[2019-12-15 08:09:39 INFO] Player disconnected: hanicraft, xuid: 2535460621431466
§2--- Showing help page 1 of 18 (/help <page>) ---
/? [command: CommandName]
/? <page: int>
/alwaysday [lock: Boolean]
/changesetting allow-cheats <value: Boolean>
/changesetting difficulty <value: Difficulty>
/changesetting difficulty <value: int>
/clear [player: target] [itemName: Item] [data: int] [maxCount: int]
§2Tip: Use the <tab> key while typing a command to auto-complete the command or its arguments
Quellcontainer erstellen
docker create --Name Containername--memory=3500mb --network="host" --storage-opt size=2G --cap-add SYS_PTRACE -v /proc:/newproc:ro
Der Punkt von Interesse ist
Der Rest ist der gleiche wie zuvor.
Im Container
# echo "help" > /newproc/25472/fd/0
Ich habe es mit @itsu_dev geschafft. Es wird interessant sein, weil Itsukun die Oberseite kratzt.
https://serverfault.com/questions/178457/can-i-send-some-text-to-the-stdin-of-an-active-process-running-in-a-screen-sessi https://orebibou.com/2016/04/linux%E3%81%A7%E5%8B%95%E4%BD%9C%E4%B8%AD%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E5%87%BA%E5%8A%9B%E5%86%85%E5%AE%B9%E3%82%92%E3%81%BF%E3%82%8B/
Recommended Posts