上接:用Podman搭建LAMP开发环境的容器(四)–使用VS Code
今天接着折腾前几天的VSCode配置。虽然现在看着好像是差不多了,也可以在VSCode上面编写代码了。但是还有一个很大的问题:容器中Apache服务的端口并没有映射到本地,所以现在用浏览器不能访问我写的页面,也不能访问phpMyAdmin。
查看devcontainer.json参考文档,我发现了一个forwardPorts
的配置项。我想应该可以通过它来配置。不过有个问题,按照参数的格式应该不能改变本机的端口号,只能在容器中是什么端口号在本机也是什么端口号。先不管那么多,配置试试再说吧。
修改.devcontainer.json文件,增加一行"forwardPorts": [80, 8081]
,整个文件内容现在是这样的:
{
"image": "localhost/lamp:ubuntu20.04",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/myproject,type=bind",
"workspaceFolder": "/workspaces/myproject",
"overrideCommand": false,
"forwardPorts": [80, 8081]
}
在VSCode按ctrl+shift+p
,然后运行命令:Dev Containers: Rebuild container
重建容器:
我看到80和8081端口和它们的转发地址。在浏览器访问http://localhost:80
:
心里咯噔了一下,怎么回事?不过立即想起来应该是还没有配置DocumentRoot的问题。先放下这个,访问http://localhost:8081
试试:
很好,phpMyAdmin可以正常访问了。现在回过头去解决那个DocumentRoot的问题,修改.devcontainer.json文件,增加containerEnv
的配置。如下:
{
"image": "localhost/lamp:ubuntu20.04",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/myproject,type=bind",
"workspaceFolder": "/workspaces/myproject",
"overrideCommand": false,
"forwardPorts": [80, 8081],
"containerEnv": {
"MY_DOCUMENT_ROOT": "/workspaces/myproject/src/public"
}
}
重建容器后,再访问http://localhost:80
:
看起来是成功了。
今天就到这,接下来考虑配置在普通用户下面工作,现在还是跑在root用户下的,总觉得不舒服。
前段时间因为觉得每天折腾完立即发博客好像每篇博客的内容太少了,于是就想改成搞完一个主题在发。但是发现这样就写不太下去了,所以还是按照之前的方法吧。请各位看官原谅。
标签:容器,workspaces,8081,--,myproject,Podman,LAMP,80,localhost From: https://blog.csdn.net/arthurchan2021/article/details/142471124