用Podman搭建LAMP开发环境的容器(五) -- 端口转发

上接:用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用户下的,总觉得不舒服。

前段时间因为觉得每天折腾完立即发博客好像每篇博客的内容太少了,于是就想改成搞完一个主题在发。但是发现这样就写不太下去了,所以还是按照之前的方法吧。请各位看官原谅。

下接:用Podman搭建LAMP开发环境的容器(六) – 使用普通用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值