0

我是 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
4

1 回答 1

1

查看您的日志 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

这可能是由几个原因造成的。为了找到根本原因,我需要更多数据。

  1. 哪个用户运行 docker-compose up 命令?
  2. 您尝试挂载的卷的所有者和组(显示ls -la每个卷的输出)。
  3. 在容器内使用的用户。

我的猜测是您正在安装 UserA 的目录的文件,并且您正在从 UserB 安装它们。很可能文件属于 root 并且您从本地用户运行,henry@localhost对吗?可能不是一个安全的解决方案,但尝试从 root 用户执行 docker-compose。

即使权限正确,也存在主机和容器上的 UID 和 GID 不同的情况。结果,您将遇到权限被拒绝错误。

此外,你甚至如何启动 apache?因为我在该图像的 docker-compose 和 Dockerfile 中都没有看到它?(通过查看您正在使用的示例

顺便说一句,你也有 mysql 容器的问题,但这是另一回事:

5.7-mysql     | chown: cannot read directory '/var/lib/mysql/': Permission denied
于 2018-11-01T20:17:41.053 回答