Используется именованный канал. На хосте os создайте сценарий для циклического и считывания команд, а затем вы вызовете eval.
Попросите контейнер докеров прочитать этот именованный канал.
Чтобы иметь доступ к каналу, вам необходимо установить его через том.
Это аналогично механизму SSH (или аналогичному методу на основе сокетов), но ограничивает вас правильным хост-устройством, что, вероятно, лучше. Кроме того, вам не нужно передавать информацию об аутентификации.
Мое единственное предупреждение - быть осторожным в том, почему вы это делаете. Это абсолютно необходимо сделать, если вы хотите создать метод для самостоятельного обновления с помощью пользовательского ввода или что-то еще, но вы, вероятно, не хотите вызывать команду для получения некоторых данных конфигурации, поскольку надлежащим способом было бы передать это как аргументы / том в докер. Также будьте осторожны в том, что вы уклоняетесь, поэтому просто дайте модели разрешения мысли.
Некоторые из других ответов, таких как запуск сценария. По объему не будут работать в общем случае, поскольку у них не будет доступа к полным системным ресурсам, но он может быть более уместным в зависимости от вашего использования .
В данный момент я не знаю, что любой встроенный метод делает это, но это не трудно, я делаю это как это:
~
public string ReverseMapPath(string path)
{
string appPath = HttpContext.Current.Server.MapPath("~");
string res = string.Format("~{0}", path.Replace(appPath, "").Replace("\\", "/"));
return res;
}