apache - 如何授予对使用 Docker(Dockerfile)创建的 apache 服务器的访问权限
问题描述
设置
所以我是 Docker 新手,目前通过在线教程和 docker 官方文档学习。所以我创建了一个只有两个文件的虚拟项目,即 index.php 和 Dockerfile。
Dockerfile:
FROM php:7.2-apache
背景
- 我已启用 Windows 10 虚拟化选项
- 我已经安装了 docker 工具箱和 Oracle VM VirtualBox。
- 这是运行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 服务器,这是我运行的命令。
- 构建图像
docker build .
- 创建容器
docker container run -d -p 4000:80 [imageID]
- 通过浏览器访问服务器,我的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
问题
为什么会出现问题?是不是因为我没有把自己加入服务器用户组?
如果 Q1 的回答是肯定的,那么我该如何授予权限?2.1 我试图找到一个 apache 配置文件,但由于 apache 服务器是使用 docker 创建的,所以我不知道在哪里可以找到它。我不应该改变它,对吧?
2.2 我也尝试通过计算机管理中心查看window用户组权限,但我的windows版本没有这个选项
- (选项)我目前使用我的 vm 运行的 IP 地址而不是localhost。那么我该如何改变呢?再次,我找不到 apache 服务器的配置文件。
解决方案
推荐阅读
- bash - 合并不同列的csv文件
- c# - 如何在 C# 中创建通用管道?
- java - java - 使用java zip压缩压缩文件时如何将文件拆分为多个文件?
- ios - 将排序后的数据管理到 TableViewController 中的索引部分和单元格中
- android - 我需要从回调方法内部获取值的返回
- multithreading - 在烧瓶应用程序中使用 requests_html
- database - 在 MongoDB 中使用 $pull 更新文档的内部数组
- java - 如何使用 Spring Data 将异步插入 Cassandra?
- java - 如何在 Java 中使用 GraphQL?
- c# - 部署到 azure webapps 后,引导下拉菜单不起作用