在 Apache 服务器上从 Docker 运行静态网站


毫无疑问,Docker 容器现在正被广泛用于开发生命周期的各个方面,从构建、分发、测试到产品的部署。它允许开发人员处理项目的不同部分,与其他参与同一项目的开发人员协作,有助于项目的版本管理,在某些情况下,还可以通过在其自己的服务器上托管来测试产品。

假设您已在 Docker 容器内构建了一个静态网站,现在您想通过在浏览器中运行该网站来测试它。Docker 允许您在容器内创建 Apache 服务器并在本地托管网站,并通过端口连接它,以便您可以在本地机器上显示它。

在本文中,我们将了解如何在 Docker 容器内的 Apache 服务器上运行静态网站并在本地机器上访问它。首先,我们需要创建一个 Dockerfile,以便它可以构建一个已安装 Apache 服务器的环境。我们还需要一个简单的静态网站,我们将在该服务器上运行它。静态网站是指不动态或即时呈现数据和信息的网站,主要由 html 和 css 组成,不包含 javascript。

让我们创建一个 Dockerfile 并包含一些命令来拉取一个包含预安装 Apache 服务器的基本镜像。Httpd 是主要的 http 服务器,其中包含名为 Apache 的 Web 服务器应用程序。

我们使用 FROM 指令来拉取该基本镜像。然后,我们创建一个名为 mysite 的目录,其中包含一个名为 index.html 的 html 文件,该文件将包含我们的静态网站的 html 内容。因此,目录结构将是主文件夹,其中我们将有我们的 Dockerfile 和一个名为 mysite 的文件夹,在该文件夹中将是我们的 index.html 文件。

Index.html

<html>
<body>
Welcome to TutorialsPoint Docker tutorials
</body>
</html>

Dockerfile

FROM httpd:2.4
WORKDIR /usr/local/apache2/htdocs/
COPY ./mysite/

我们将容器内的工作目录设置为 /usr/local/apache2/htdocs/,然后我们将包含 html 文件的 mysite 文件夹复制到容器中的工作目录。

完成 index.html 文件和 Dockerfile 后,我们就可以使用 docker build 命令和我们的 Dockerfile 来构建我们的 Docker 镜像了。要构建 Docker 镜像,我们使用以下命令:

sudo docker build −t static−image .

以上命令构建了一个名为 static-image 的镜像。现在我们已经构建了镜像,我们可以使用 docker run 命令启动一个容器。为了使 Docker 容器能够在我们的本地机器的浏览器中提供我们的网站,我们需要连接 Docker 容器和本地系统的端口。我们可以使用 -p 标志和我们的 docker run 命令来实现这一点。

sudo docker run −p 80:80 −−name static−image−1 static−image

以上运行命令将容器和本地机器的端口号 80 相互连接。使用 --name 选项,我们为容器提供了一个名为 static-image-1 的名称。执行此命令后,我们的 Docker 容器 static-image-1 正在运行,并准备在地址 https://:80 上提供我们的静态网站。

您现在可以启动浏览器并浏览链接 https://:80。您将看到“欢迎使用 TutorialsPoint Docker 教程”的内容显示在那里。这意味着该网站正在 Apache 服务器上提供。

总之,您可以使用 Docker 容器来提供您的静态网站。当您更改网站 html 时,您会看到更改也会反映在网站显示中。如果您在该容器上提供了一些其他应用程序,您还可以指定不同的端口号。

更新于: 2020年10月27日

2K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.