在现代的开发和运维环境中,使用容器化技术来部署应用已成为一种流行的做法。Nginx作为轻量级的Web服务器,广泛用于静态网站的部署和反向代理。本文将介绍如何使用Portainer创建Nginx容器并部署一个静态网站,以实现公网访问。

1. 环境准备

首先,你需要安装Docker和Portainer。Docker是一个开源的容器化平台,而Portainer是一个用于管理Docker环境的轻量级Web界面。你可以通过以下命令安装Docker:

sudo apt-get update
sudo apt-get install -y docker.io

安装完成后,你可以使用以下命令安装Portainer:

sudo docker volume create portainer_data
sudo 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

安装完成后,打开浏览器,访问http://<你的服务器IP>:9000,创建管理员账户。

2. 创建Nginx容器

在Portainer中,你可以很方便地创建Nginx容器。首先,登录到Portainer界面,选择“Containers”选项,然后点击“Add container”。

  • 名称:填写容器的名称,例如nginx-static-site
  • 镜像:输入nginx,我们使用官方的Nginx镜像。
  • 端口映射:将容器的80端口映射到宿主机的80端口(如果你希望使用其他端口,可以相应修改)。
  • Host - Container:80 - 80

3. 配置Web静态站点

为了部署静态网站,你需要将网站文件上传到容器中。首先,准备好静态网站文件,例如index.html。在Portainer界面中,选择nginx-static-site容器,并点击“Duplicate/Edit”按钮。

在“Advanced container settings”部分,找到“Volumes”。我们将本地目录挂载到容器内部,以便Nginx可以访问到网站文件。假设你在服务器上有一个目录/var/www/static-site,里面存放了你的静态文件。

  • Host/var/www/static-site
  • Container/usr/share/nginx/html(这是Nginx默认的静态文件路径)

示例:

# 创建静态站点目录
mkdir -p /var/www/static-site
# 创建 index.html 文件
echo "<h1>欢迎访问我的静态网站</h1>" > /var/www/static-site/index.html

完成设置后,点击“Deploy the container”按钮,Portainer将创建并启动该容器。

4. 验证公网访问

确保防火墙允许80端口的访问。在Linux服务器上,可以使用UFW进行设置:

sudo ufw allow 80

然后,打开你的浏览器,访问http://<你的服务器IP>,如果一切正常,你应该能看到“欢迎访问我的静态网站”的字样。

总结

通过Portainer创建Nginx容器并部署静态网站的过程非常简单。你只需几个步骤就能实现公网访问。使用容器化部署不仅提升了开发效率,也让应用的管理和扩展变得更加容易。接下来,你可以根据需求进行更多的配置,比如SSL证书的绑定、反向代理等,以满足生产环境的要求。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部