This might be a little bit of a complex question but I am open to try any and all suggestions thrown at me.
I am running a docker instance which clones a git repository, it is a php 7 apache docker instance:
FROM php:7.0-apache
With the Symfony Process Component I am booting up my container and pass my environment variables.
"docker run -e REPOSITORY=\"{$url}\"
-e COMPOSER_ALLOW_SUPERUSER=1
-e TERM='xterm-256color' arbiter bash -l"
I have added the xterm-256-color
environment to make sure I am getting colored output(correct me if this is wrong).
To display the output of the container I am using the Symfony Process Component to send it to a websocket.
$process->run(function ($type, $buffer) use ($socket) {
socket_write($socket, $buffer, strlen($buffer));
});
At this point I can use something like socket.io to display it on a webpage in realtime.
The problem is that I want to display the docker output with proper coloring as you would normally see it with a terminal. All formatting and coloring seems to be lost at this point though.
Is there any web I can pass the docker output to a websocket and still maintain my coloring to display on a webpage?
Any hints or tips to guide me in the right direction are welcome since I am asking a lot here.
Thanks for readings, cheers.
Edit
To be clear I am not yet getting any colored output so far the output given to me from the docker container looks simply like this(composer example):
[2017-02-12 01:02:56] local.INFO: remote: Counting objects: 69, done.
remote: Compressing objects: 2% (1/47)
remote: Compressing objects: 4% (2/47)