Zend Studio使用教程:在Docker容器中調試PHP Web應用(三)
本教程為大家介紹的是一個全面的演示,從Docker Hub中提取合適的鏡像、運行一個容器到調試PHP代碼。該演示需要使用Zend Studio 13,因為它引入了全新的Docker Tooling。
注意:所描述的場景仍然可以使用Zend Studio早期的版本,但任何Docker管理操作需要在命令終端中執行。
5. 從鏡像中運行Docker容器
我們在本地系統中擁有Docker鏡像。我們需要啟動一個Docker容器,并將容器的Apache服務器的HTTP端口映射到本地系統的一個端口上。我們需要將容器的Apache服務器的根文檔映射到本地系統的文件夾上。這些映射對調試Docker容器上的PHP代碼至關重要。
創建容器是通過在Docker Image視圖中選擇tommylau/xdebug鏡像,然后單擊Run Image工具按鈕來完成的。有一些重要的設置,我們需要在向導中將其彈出:
- 將容器的Apache服務器的HTTP端口映射到本地系統上的端口:
- 取消選中“Publish all exposed ports to random ports on the host interfaces”復選框
- (不要錯過這個!)選中下表中第一行的復選框(Container Port 80)
- 單擊Edit…按鈕
- 將主機端口設置為本地機器上的一些空閑端口,例如8080
- 單擊OK按鈕關閉顯示容器端口的對話框
- 將容器的Apache服務器的根文檔映射到本地系統的文件夾上
- 單擊Next按鈕跳轉到第二個向導頁面
- 單擊Data Volumes組的Add按鈕
- 輸入“/var/www/html”作為容器路徑
- 選擇“Mount a host directory or host file”單選框
- 單擊Directory按鈕,并瀏覽本地文件系統上的一些空目錄,例如/home/raev/www
- 單擊OK按鈕來關閉Data Volume對話框
- (不要錯過這個!)選擇表中新添加的data volume復選框
單擊Finish按鈕將啟動Docker容器。它將出現在Docker Explorer和Docker Containers視圖中,啟動日志可以在控制臺視圖中看到。
我們可以通過請求映射到本地系統容器的HTTP端口,即在Web瀏覽器中請求//localhost:8080來測試容器是否正在工作。瀏覽器應顯示“禁止”頁面,這表明容器正常,因為我們使用Docker鏡像配置Apache服務器。這個錯誤實際上證明Web瀏覽器請求的Apache服務器在我們的Docker容器中運行。其他訪問日志將打印在控制臺視圖中。