Как запустить функцию внутри контейнера для сценария php?Exec или система? - PullRequest
0 голосов
/ 11 июня 2019

Вот моя проблема: у меня есть док-контейнер, который содержит функцию внутри.Мне нужно написать на терминале эти команды, чтобы запустить мою функцию:

docker run -p 80:8080 -it custom_docker bin/bash
/home/prog/executable_script -command 'string'

Я хотел бы поместить эту функцию в textarea в php-скрипте, но как мне это написать?правильно, чтобы он появился в моем localhost?

Я пробовал это, но это не сработало:

<code><html>
<body>
<textarea id="strings" name="chain" style="border: solid 1px #99bb99; width: 100%; margin: 0px; padding: 2px;" rows="25" cols="45">

<?php

    echo '<pre>';
    $content = system("sudo docker run -it custom_docker /bin/bash -w /home/prog/executable_script -command 'string');
    echo '
';?>

Только записывается как вывод ...

Спасибо за помощь!

Также извините замой плохой английский

1 Ответ

0 голосов
/ 11 июня 2019

Вы никогда не повторяете свою переменную $content, поэтому она всегда записывает в содержимое.

Чтобы отправить вывод команды:

echo system("sudo docker run custom_docker /bin/bash /home/prog/executable_script -command 'string'");

или

passthru("sudo docker run custom_docker /bin/bash /home/prog/executable_script -command 'string'");

Кому убедитесь, что ваш скрипт работает правильно с привилегиями sudo , отредактируйте файл sudoers и добавьте правило, позволяющее веб-серверу вызывать ваш скрипт:

www-data ALL=NOPASSWD: /path/to/your/docker run custom_docker /bin/bash /home/prog/executable_script -command 'string'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...