通过 Docker 部署 Nginx 服务

通过 Docker 部署 Nginx 服务的完整流程

1. 启动容器并映射端口

  • 命令
    docker run --name nginx -P -dit centos
  • 参数解释
    • --name nginx:为容器命名为 nginx
    • -P:随机映射容器中的端口到主机(物理机)的可用端口。
    • -d:以守护进程方式启动容器。
    • -i:支持交互式操作。
    • -t:分配一个伪终端。
    • centos:基础镜像,用于创建容器。

2. 进入容器

  • 命令
    docker exec -it nginx /bin/bash
  • 作用
    • 进入名为 nginx 的容器,分配交互式终端并使用 bash 命令行。

3. 安装 Nginx 服务

(1) 检查并更换 YUM 源
  • 问题
    • 如果使用默认的 YUM 源,可能会因镜像不维护而报错。
  • 解决方法
    1. 删除默认的 YUM repo 文件:
      rm -rf /etc/yum.repos.d/*
    2. 使用阿里云的 CentOS YUM 源:
      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    3. 重新生成缓存:
      yum clean all
      yum makecache
(2) 安装 Wget 和 Nginx
  • 安装 Wget
    yum install wget -y
  • 安装 Nginx
    yum install nginx -y

4. 配置 Nginx

(1) 创建网站目录
  • 命令
    mkdir -p /var/www/html
  • 作用
    • 新建目录 /var/www/html,用于存放网站文件。
(2) 创建首页文件
  • 命令
    echo "<h1>My Name is Xianchao</h1>" > /var/www/html/index.html
  • 作用
    • 创建一个简单的 HTML 文件作为首页。
(3) 修改 Nginx 配置
  • 打开配置文件
    vim /etc/nginx/nginx.conf
  • 修改 root 配置
    • 找到 root 字段并修改为:
      root /var/www/html;
  • 保存并退出
    • Esc 键,输入 :wq 保存并退出。

5. 启动 Nginx 服务

  • 命令
    nginx
  • 作用
    • 启动 Nginx 服务。

6. 测试 Nginx 服务

(1) 查看容器映射的端口
  • 命令
    docker ps
  • 示例输出
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    abc123def456 centos "/bin/bash" 10 minutes ago Up 10 minutes 0.0.0.0:49154->80/tcp nginx
  • 说明
    • 49154->80/tcp 表示容器的 80 端口映射到了主机的 49154 端口。
(2) 使用主机 IP 和端口访问
  • 在浏览器输入:
    http://<主机IP>:49154
  • 页面会显示:
    My Name is Xianchao
(3) 使用容器的 IP 访问
  • 获取容器 IP
    cat /etc/hosts
    示例输出:
    172.17.0.2
  • 直接访问容器 IP
    • 浏览器输入:
      http://172.17.0.2

注意事项

  1. YUM 源问题

    • 如果安装软件时报错(如 No URL in mirrorlist),需要手动更换 YUM 源为阿里云的 CentOS 源。
  2. 端口映射

    • 使用 -P 参数时,Docker 会随机分配一个主机端口映射到容器的 80 端口。
    • 如果需要指定端口,可以使用 -p 参数,例如:
      docker run --name nginx -p 8080:80 -dit centos
      这样主机的 8080 端口会映射到容器的 80 端口,访问方式为:
      http://<主机IP>:8080
  3. Nginx 配置文件

    • 配置文件路径:/etc/nginx/nginx.conf
    • 默认的 root 参数需要指向网站文件所在目录,例如 /var/www/html
  4. 容器与主机的网络通信

    • 可以通过主机的 IP 地址和映射端口访问容器内部的服务。
    • 也可以直接通过容器的 IP 地址访问。

总结

通过以上步骤,您可以轻松使用 Docker 容器部署一个简单的 Nginx 服务。关键点包括:

  1. 启动容器与端口映射

    • 使用 docker run 启动容器,并通过 -P-p 参数映射端口。
  2. 安装必要的软件

    • 进入容器后,配置 YUM 源,然后安装 Nginx。
  3. 配置与测试

    • 配置 Nginx 的 root 目录,放置网站文件,然后启动服务。
  4. 访问容器服务

    • 使用主机 IP 和映射端口,或者直接使用容器 IP 进行访问。
posted @   皇帽讲绿帽带法技巧  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示