這可能有點複雜的問題,但我可以嘗試任何和所有建議。從docker到websocket的彩色輸出
我正在運行哪些克隆一個Git倉庫碼頭工人,例如,它是一個PHP 7阿帕奇碼頭工人實例:
FROM php:7.0-apache
隨着Symfony Process Component我啓動了我的容器中,並通過我的環境變量。
"docker run -e REPOSITORY=\"{$url}\"
-e COMPOSER_ALLOW_SUPERUSER=1
-e TERM='xterm-256color' arbiter bash -l"
我已經加入了xterm-256-color
環境,以確保我得到彩色輸出(糾正我,如果這是錯誤的)。
顯示容器的輸出我使用Symfony Process Component將它發送到websocket。
$process->run(function ($type, $buffer) use ($socket) {
socket_write($socket, $buffer, strlen($buffer));
});
在這一點上,我可以使用像socket.io這樣的東西來實時顯示在網頁上。
問題是我想用正常的顏色來顯示docker輸出,就像你通常用終端看到它一樣。儘管如此,所有的格式化和着色似乎都失去了。
是否有任何網站我可以通過碼頭輸出到一個websocket,仍然保持我的着色顯示在網頁上?
任何提示或技巧引導我在正確的方向是值得歡迎的,因爲我在這裏問很多。
感謝您的閱讀,歡呼聲。
編輯
需要明確的是,我還沒有得到任何的彩色輸出,從而遠離泊塢窗容器給我的輸出看起來簡直像這樣(作曲爲例):
[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)
彩色輸出的格式是什麼? ANSI顏色? (即終端顏色)。如果是這種情況,您需要將其轉換爲HTML顏色,這是另一回事。像這樣:https://github.com/sensiolabs/ansi-to-html – Robert
我似乎沒有得到任何格式,我可以告訴如果我把它傳遞給websocket。當我輸出到日誌文件時,我也沒有得到彩色輸出。當我真的潛入我的容器時,像這樣:'docker run -it -e REPOSITORY =「https://github.com/stephan-v/test.git」arbiter'雖然我正在獲取彩色輸出。 –