本教程为大家介绍的是一个全面的演示,从Docker Hub中提取合适的镜像、运行一个容器到调试PHP代码。该演示需要使用,因为它引入了全新的Docker Tooling。
注意:所描述的场景仍然可以使用早期的版本,但任何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浏览器中请求http://localhost:8080来测试容器是否正在工作。浏览器应显示“禁止”页面,这表明容器正常,因为我们使用Docker镜像配置Apache服务器。这个错误实际上证明Web浏览器请求的Apache服务器在我们的Docker容器中运行。其他访问日志将打印在控制台视图中。
有兴趣的朋友可以