在 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 时,您会看到更改也会反映在网站显示中。如果您在该容器上提供了一些其他应用程序,您还可以指定不同的端口号。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP