我是docker的新手,有人能帮我处理docker LAMP和Fedora 28/29吗。由于某种未知的原因,当我运行docker compose-up时,d端口80没有打开,或者MySQL端口3306但0.0.0.0:8080上的PHPMyAdmin可以访问。
这是我正在使用的docker lamp GitHub页面:https://github.com/sprintcube/docker-compose-lamp/tree/7.2.x
nmap扫描
$ nmap -sT 0.0.0.0
Nmap scan report for 0.0.0.0
PORT STATE SERVICE
631/tcp open ipp
8080/tcp open http-proxy
查看日志,apache不会运行,因为它无法访问您安装的conf文件:
7.1.x-webserver | apache2: Syntax error on line 225 of /etc/apache2/apache2.conf: Could not open config directory /etc/apache2/sites-enabled: Permission denied
这可能是由几个原因造成的。为了找到根本原因,我需要更多的数据。
- 哪个用户运行docker compose-up命令
- 要装载的卷的所有者和组(显示每个卷上
ls -la
的输出( - 在容器中使用的用户
我的猜测是,你正在装载UserA的目录文件,而你正在从UserB装载它们。最有可能的文件属于root,并且您从本地用户henry@localhost
运行,对吗?可能不是一个安全的解决方案,但尝试从根用户执行docker compose。
还有一种情况是,即使权限正确,主机和容器上的UID和GID也不同。因此,您将出现权限被拒绝的错误。
此外,如何启动apache?因为我在docker compose和Dockerfile中都没有看到它的细节?(通过查看您使用的示例(
顺便说一句,mysql容器也有问题,但那是另一回事:
5.7-mysql | chown: cannot read directory '/var/lib/mysql/': Permission denied