Docker 应用安装脚本

install_nginx_base_docker.sh

站内脚本创建 /data/nginx,仅在默认文件不存在时写入,拉取 nginx:1.22.1 并重建同名容器。它会映射 443,但不配置 TLS。

一键命令

curl -fL 'https://www.helper.sh/install_nginx_base_docker.sh' -o './install_nginx_base_docker.sh'

此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。

核对已下载文件

与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。

预期 SHA-256
7f6032a0a10041e3da1c1cd80294d9e9d383ecaaf29b62dcdb7bd04799c75bd2

内置文件字节数: 6279

保存校验文件

将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。

sha256sum --check './install_nginx_base_docker.sh.sha256'

尚未比较。

校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。

查看验证与限制

运行要求

  • Linux 主机
  • Docker 已安装并运行
  • 需要 root 权限或 sudo
  • 80 和 443 端口可用
  • /data 目录可写

适用场景

  • 在已经具备 Docker 环境的主机上快速拉起 Nginx 1.22.1
  • 为静态站点、下载分发或反向代理准备统一的 /data/nginx 目录结构
  • 用一条已审阅命令在多台服务器上标准化 Web 入口

脚本亮点

  • 自动创建 /data/nginx/html、conf.d、logs 和基础 nginx.conf
  • 拉取 nginx:1.22.1 并以可自动重启的容器方式运行
  • 配置、站点内容和日志都保留在宿主机,方便后续维护
  • 默认带一个 /healthz 检查接口和占位首页

推荐流程

  1. 先确认 Docker 已安装可用,且宿主机的 80/443 端口没有被其他服务占用。
  2. 使用 sudo 或 root 执行 helper.sh 提供的一键命令。
  3. 等待脚本准备 /data/nginx、拉取 nginx:1.22.1,并在需要时重建同名容器。
  4. 后续可直接修改 /data/nginx/conf.d 或 /data/nginx/html 下的文件,再按需 reload 或 restart 容器。

安全提示

  • 如果主机已经使用 80 或 443 端口,请先确认现有服务安排。
  • 脚本生成的是基础默认配置;正式反向代理规则请先审阅,再自行部署。
  • 如果该主机已经承载流量,建议在大改配置前先备份 /data/nginx。

兼容范围与限制

  • 需要 Linux、root、Docker、systemd、用于本机检查的 curl,以及所选 HTTP/HTTPS 主机端口空闲。镜像使用 nginx:1.22.1 标签,没有固定 digest;没有 dry-run 或备份。
  • 脚本把主机端口映射到容器 80 和 443,但生成的 Nginx 配置只监听 HTTP 80,没有配置 TLS 证书或 HTTPS listener。映射了 443 并不代表 HTTPS 可用。
  • 若同名容器已存在,脚本会强制删除。宿主机已有文件会复用;配置和占位页面仅在文件不存在时创建。

受影响的文件、服务和数据

  • 创建 /data/nginx/{html,conf.d,logs};仅在文件不存在时写入 /data/nginx/nginx.conf、conf.d/default.conf 和 html/index.html。
  • Docker 未运行时会启动它,拉取 nginx:1.22.1,强制删除同名容器后创建自动重启容器;配置和内容以只读方式挂载,日志目录可写。
  • 把选定主机端口发布到容器 80/443。默认 server block 提供 /healthz 和静态文件;默认配置没有 TLS。

只读核验

  • 检查 `docker ps --filter name=nginx-1221` 和 `docker logs --tail 100 nginx-1221`(自定义名称时替换)。
  • 使用 `docker inspect nginx-1221 --format "{{json .HostConfig.PortBindings}} {{json .Mounts}}"` 核对端口映射和挂载。
  • 用 `docker exec nginx-1221 nginx -t` 检查语法;若保留默认配置,用 `curl -i http://127.0.0.1/healthz` 测试 HTTP。443 端口映射本身不能证明 HTTPS 正常。

失败后的下一步

容器退出或 HTTP 检查失败时,查看 Docker 日志、运行 `nginx -t`,并检查主机端口冲突及 /data/nginx 配置。curl 检查失败或缺少 curl 只会产生警告,脚本仍可能显示部署完成。对外说明 HTTPS 前,须另行配置并验证 TLS。

先下载、审阅并核对版本,再决定是否执行。哈希只能标识这一版字节,不能证明安全。pipe 命令会立即执行远程内容;上游依赖也可能变化。

相关专题

Ubuntu:准备 Docker 或 VPN 接入

区分主机安装、客户端接入和已有 Docker 服务,不把旧应用镜像作为新栈默认选择。

查看专题

Docker 服务:检查接口和保留状态

按协议、数据目录和替换影响区分 HTTP、SQL、缓存、FastCGI 或镜像内应用。

查看专题