Hallo, ik werk op een centos 7 server waarop php en apache geïnstalleerd zijn.
Ik wil dat wanneer iemand een button aanklikt er een Docker container opgestart wordt.

onder /var/www/html staat webscript.php
onder /var/www/cgi-bin staat docker_run.sh

webscript.php

<?php
if($_POST["submitted"])
{  
  exec ('/var/www/cgi-bin/docker_run.sh');
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>?</title>
</head>
<body>
	<form method="post">
		<input type="hidden" name="submitted">
		<button type="submit">Run the script!</button>
	</form>
	<form action="exec(/var/www/cgi-bin/docker_run.sh)">
		<input type="submit" value="Open Script">
	</form>
</body>
</html>

docker_run.sh

#!/bin/bash

for i in {1..10}
 do docker run -name docker-nginx$i -P -d nginx
 sleep 3
done
Mja, maar op dit moment belemmert dat form gedoe hetgene wat je uiteindelijk wilt testen.

Wanneer je je PHP code (tijdens ontwikkeling) mondiger maakt heb je meer voelsprieten en kun je veel sneller dingen uitsluiten.

Op het moment dat je getest hebt dat je conditie op de juiste momenten true oplevert kan dat else-statement natuurlijk weg, ik heb ook nergens aangehaald dat je dit soort debugconstructies in je code zou moeten laten zitten.

Idealiter test je één ding zo min mogelijk dingen tegelijkertijd, dit om dingen simpel te houden, om nog maar eens een ontwikkelparadigma aan te halen.
Ja, die var_dump was om de TS op weg te zetten om zijn script te debuggen. Daarna kan hij vanzelfsprekend verder aan de slag om alles aan te passen naar zijn eigen weldunken.

Reageren