在现代云计算环境中,使用容器化技术来部署应用程序已成为了一种流行的趋势。Nginx作为一种轻量级、高性能的Web服务器,非常适合用于静态网站托管。本文将介绍如何在Portainer中创建Nginx容器,并部署一个静态网站实现公网访问。
一、环境准备
在开始之前,请确保您已经安装并运行了Docker和Portainer。Portainer是一个轻量级的管理工具,可以帮助我们更方便地管理Docker容器。
- 安装Docker:可以使用以下命令来安装Docker(以Ubuntu为例):
bash
sudo apt update
sudo apt install docker.io
- 安装Portainer:可以使用Docker命令来拉取Portainer的镜像并运行:
bash
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
接下来,通过访问 http://<YOUR_SERVER_IP>:9000
来进入Portainer界面。
二、创建静态网站文件
在本地创建一个文件夹,并添加一个简单的HTML文件。例如,创建一个名为my-website
的文件夹,并在其中创建index.html
:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的静态网站</title>
</head>
<body>
<h1>欢迎来到我的静态网站!</h1>
<p>这是一个由Nginx托管的静态页面。</p>
</body>
</html>
三、创建Nginx容器
-
登录Portainer:访问
http://<YOUR_SERVER_IP>:9000
,输入用户名和密码(如果是第一次使用,默认用户名是“admin”,密码可以在首次设置时设定)。 -
创建一个新的栈:在Portainer的界面中,点击左侧菜单的“Stacks”,然后点击“Add stack”。
-
输入栈的名称和YAML配置。在文本框中输入以下内容:
yaml
version: '3.8'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./my-website:/usr/share/nginx/html
在这个YAML配置中,我们定义了一个名为nginx
的服务,使用Nginx的最新镜像,并将本地的my-website
文件夹挂载到Nginx容器的默认HTML目录。
- 部署栈:点击“Deploy the stack”按钮,Portainer将开始创建Nginx容器,并将静态文件提供给公网。
四、访问网站
一旦Nginx容器部署成功,我们就可以通过浏览器访问网站了。输入 http://<YOUR_SERVER_IP>
,你应该能够看到“欢迎来到我的静态网站!”的页面。
五、总结
通过Portainer和Docker,快速创建和管理Nginx容器是一个非常灵活和高效的方式。借助这种容器化的技术,我们能够轻松部署静态网站,并实现公网访问。在生产环境中,您还可以根据需要配置SSL、负载均衡等功能,以满足更高的安全性和性能需求。希望这篇文章能够帮助您快速上手Nginx和Portainer的使用!