首页 > 解决方案 > 如何授予对使用 Docker(Dockerfile)创建的 apache 服务器的访问权限

问题描述

设置

所以我是 Docker 新手,目前通过在线教程和 docker 官方文档学习。所以我创建了一个只有两个文件的虚拟项目,即 index.php 和 Dockerfile。

Dockerfile:

FROM php:7.2-apache

背景

  1. 我已启用 Windows 10 虚拟化选项
  2. 我已经安装了 docker 工具箱和 Oracle VM VirtualBox。
  3. 这是运行docker版本的结果
Client:
 Version:           19.03.1
 API version:       1.39 (downgraded from 1.40)
 Go version:        go1.12.7
 Git commit:        74b1e89e8a
 Built:             Wed Jul 31 15:18:18 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.9
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.13
  Git commit:       039a7df9ba
  Built:            Wed Sep  4 16:55:50 2019
  OS/Arch:          linux/amd64
  Experimental:     false

所以我正在尝试为 php 开发设置一个 apache 服务器,这是我运行的命令。

  1. 构建图像
docker build .
  1. 创建容器
docker container run -d -p 4000:80 [imageID]
  1. 通过浏览器访问服务器,我的VM IP地址是192.168.99.100。所以我尝试了
http://192.168.99.100:4000

但我得到了这个错误:

Forbidden

You don't have permission to access / on this server.

Apache/2.4.38 (Debian) Server at 192.168.99.100 Port 4000

问题

  1. 为什么会出现问题?是不是因为我没有把自己加入服务器用户组?

  2. 如果 Q1 的回答是肯定的,那么我该如何授予权限?2.1 我试图找到一个 apache 配置文件,但由于 apache 服务器是使用 docker 创建的,所以我不知道在哪里可以找到它。我不应该改变它,对吧?

2.2 我也尝试通过计算机管理中心查看window用户组权限,但我的windows版本没有这个选项

  1. (选项)我目前使用我的 vm 运行的 IP 地址而不是localhost。那么我该如何改变呢?再次,我找不到 apache 服务器的配置文件。

标签: apachedockerdockerfile

解决方案


推荐阅读