当前位置: 首页 > article >正文

【Nginx】在 Docker 上安装 Nginx 的详细指南

目录

  • 1. 引言
  • 2. 准备工作
    • 2.1 安装 Docker
      • 在 Ubuntu 上安装 Docker
      • 在 CentOS 上安装 Docker
    • 2.2 拉取 Nginx 镜像
  • 3. 创建 Nginx 配置文件
  • 4. 创建 Dockerfile
  • 5. 准备 SSL 证书
  • 6. 构建 Docker 镜像
  • 7. 运行 Nginx 容器
  • 8. 测试配置
  • 9. 续订和更新 SSL 证书
  • 总结
  • 参考资料

1. 引言

Docker 是一个开源的容器化平台,允许开发者将应用及其依赖项打包到一个可移植的容器中。本文将介绍如何在 Docker 中安装和配置 Nginx,包括 SSL 的设置。

2. 准备工作

2.1 安装 Docker

确保你的系统上已安装 Docker。如果尚未安装,可以按照以下步骤进行安装:

在 Ubuntu 上安装 Docker

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

在 CentOS 上安装 Docker

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker

2.2 拉取 Nginx 镜像

使用以下命令拉取最新的 Nginx 镜像:

docker pull nginx

3. 创建 Nginx 配置文件

在主机上创建一个目录用于存放 Nginx 配置文件:

mkdir -p ~/nginx

在该目录下创建 nginx.conf 配置文件,内容如下:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate /etc/ssl/certs/fullchain.pem;
    ssl_certificate_key /etc/ssl/private/privkey.pem;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}

4. 创建 Dockerfile

在同一目录下创建 Dockerfile,内容如下:

FROM nginx:latest

COPY nginx.conf /etc/nginx/nginx.conf
COPY ./html /usr/share/nginx/html

5. 准备 SSL 证书

将你的 SSL 证书和私钥放入一个目录,例如 ~/nginx/ssl

mkdir ~/nginx/ssl
# 将证书和私钥文件复制到 ~/nginx/ssl

确保修改 nginx.conf 中的路径指向正确的 SSL 证书和私钥位置。

6. 构建 Docker 镜像

~/nginx 目录下执行以下命令构建 Docker 镜像:

docker build -t my-nginx .

7. 运行 Nginx 容器

使用以下命令启动 Nginx 容器:

docker run -d -p 80:80 -p 443:443 --name nginx-server my-nginx

8. 测试配置

在浏览器中访问 http://yourdomain.comhttps://yourdomain.com,确保 Nginx 正常运行并提供 SSL 支持。

9. 续订和更新 SSL 证书

若使用 Let’s Encrypt,可以通过 Certbot 在 Docker 中运行。可以使用 Docker Compose 或者创建一个单独的容器来管理证书续订。

总结

通过以上步骤,你可以在 Docker 中成功安装和配置 Nginx,同时启用 SSL。容器化的 Nginx 部署使得管理和扩展变得更加容易。

参考资料

  • Docker 官方文档
  • Nginx 官方文档

希望这个指南能帮助你在 Docker 上成功部署 Nginx!如果有任何疑问或需要进一步的帮助,请随时问我!


http://www.kler.cn/a/316569.html

相关文章:

  • STM32嵌入式闹钟系统设计与实现
  • RT-DETR融合CVPR[2020]轻量化卷积模块Ghost Module模块
  • [ComfyUI]Flux:繁荣生态魔盒已开启,6款LORA已来,更有MJ6写实动漫风景艺术迪士尼全套
  • 在C++上实现反射用法
  • Python数据预处理
  • SpringBoot(七)使用mapper注解编写sql操作数据库
  • CVE-2024-46103
  • 无源蜂鸣器简介
  • 【百日算法计划】:每日一题,见证成长(017)
  • Python 类class的用法详解
  • 渗透测试综合靶场 DC-2 通关详解
  • comfyui中报错 Cmd(‘git‘) failed due to: exit code(128) 如何解决
  • 【医疗大数据】医疗保健领域的大数据管理:采用挑战和影响
  • 【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)
  • 计算机毕业设计推荐-基于python的白酒销售数据可视化分析
  • 828华为云征文 | 构建高效搜索解决方案,Elasticsearch Kibana的完美结合
  • 计算结构力学,平行桁架杆件轴力计算源程序
  • Spring IoC 注解 总结
  • vue是如何优化
  • 【C++算法】分治——快排
  • 力扣(leetcode)每日一题 2374 边积分最高的节点
  • 神经生物学精解【2】
  • LeetCode[中等]
  • 迷雾大陆免费辅助:强流派推荐攻略!VMOS云手机自动辅助挂机教程!
  • [JavaEE] TCP协议
  • hql杂谈一