Wie bekomme ich boost::process dazu, Docker von überall aufzurufen?C++

Programme in C++. Entwicklerforum
Anonymous
 Wie bekomme ich boost::process dazu, Docker von überall aufzurufen?

Post by Anonymous »

  • Boost-Version 1.74
  • Docker-Version 28.2.2
Ein Spielzeugprogramm funktioniert, wenn es aus seinem Build-Verzeichnis aufgerufen wird:

Code: Select all

$ cd build
$ ./test
27610c1a6b49a0f459fc9e39a374f2e5b9b5e3175b0e926af4c7359c6bd7f93f
aber wenn es vom Projektstamm eine Ebene höher aufgerufen wird, wird ein Fehler generiert. Ich kann keine aussagekräftigen Suchergebnisse finden zu:

Code: Select all

$ build/test
terminate called after throwing an instance of 'boost::process::process_error'
what():  execve failed: Permission denied
Aborted (core dumped)
Ich möchte, dass es in beide Richtungen funktioniert. Wie?
Ich kann dieses Verhalten nicht reproduzieren, indem ich Docker über die Befehlszeile aufrufe, daher neige ich dazu zu glauben, dass es nicht daran schuld ist. Wenn ich den Aufruf jedoch durch ein einfaches ls ersetze, funktioniert das in beiden Fällen.
Code:

Code: Select all

#include 

int main()
{
boost::process::system("docker run --detach --rm 3151172cc781");
}
(Bevor ich dies MVEd gemacht habe, war es eine Boost-Testsuite, die dazu gedacht war, ein Image auszuführen und verschiedene Tests für die resultierenden Container auszuführen.)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post