Docker应用部署之Nginx篇(day6)


前言

在 Web 服务器和反向代理中,Nginx 是最受欢迎的选择之一。借助 Docker,我们可以快速拉取 Nginx 镜像并运行容器,简化服务器的安装和管理。本文将详细介绍如何使用 Docker 部署 Nginx,包括镜像搜索、拉取、创建容器、端口映射和配置管理等关键步骤。


一、问题描述

在实际项目中,我们通常需要一个可随时启停、易于管理的 Nginx 服务器。手动安装 Nginx 可能涉及较多的配置和依赖问题,而使用 Docker 方式可以大大简化这一过程。

本文的目标是使用 Docker 快速搭建 Nginx 服务器,并进行基本的端口映射和配置管理,以便后续开发使用。


二、解决方案

1. 搜索 Nginx 镜像

首先,我们可以使用以下命令在 Docker Hub 中搜索 Nginx 相关镜像:

docker search nginx

执行后,将会返回一个 Nginx 相关镜像的列表,其中 nginx 是官方维护的镜像。

2. 拉取 Nginx 镜像

使用以下命令拉取 Nginx 官方镜像:

docker pull nginx

如果需要指定特定版本,例如 Nginx 1.21,可以使用:

docker pull nginx:1.21

拉取完成后,可以通过 docker images 命令查看本地镜像列表。

3. 创建并运行 Nginx 容器

运行以下命令,创建文件夹与.conf文件:

mkdir nginx
cd nginx
mkdir conf
cd conf
vim nginx.conf

粘贴如下内容:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

运行以下命令,在 Docker 中创建并启动一个 Nginx 容器:

cd ..

到nginx文件目录下

docker run -id --name=nginx_app \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx

参数说明:

  • -i:使容器保持交互模式,允许用户进入。
  • -d:后台运行容器。
  • -p 80:80:将宿主机的 80 端口映射到容器的 80 端口,使外部可以访问 Nginx。
  • --name=nginx_app :设置容器名称为 nginx_app
  • -v $PWD/html:/usr/share/nginx/html:将本地 html 目录挂载到 Nginx 的 html 目录,用于存放静态网页文件。
  • -v $PWD/conf:/etc/nginx/conf.d:将本地 conf 目录挂载到 Nginx 配置目录,方便自定义 Nginx 配置。
  • -v $PWD/logs:/var/log/nginx:将日志文件存储到宿主机的 logs 目录,方便查看访问日志和错误日志。
  • nginx:使用最新的 Nginx 版本。
    在这里插入图片描述

4. 验证容器是否运行

使用以下命令查看正在运行的容器:

docker ps

在这里插入图片描述

如果 Nginx 正常运行,你会看到 nginx_app 在列表中。

5. 访问 Nginx 主页

在浏览器中访问:

http://localhost:80

如果成功加载 Nginx 欢迎页面,说明 Nginx 已经成功运行。
在这里插入图片描述

三、验证与总结

验证 Nginx 运行状态

可以使用以下命令查看 Nginx 容器的日志,确认是否正常启动:

docker logs nginx_app

如果日志中显示 Nginx 已成功启动,则说明部署成功。

总结

本文介绍了如何使用 Docker 部署 Nginx,包括:

  1. 搜索 Nginx 官方镜像
  2. 拉取 Nginx 镜像
  3. 创建 Nginx 容器并设置端口和配置管理
  4. 验证容器状态并访问 Nginx

通过 Docker 部署 Nginx,可以快速搭建 Web 服务器和反向代理,避免了繁琐的手动安装过程,使开发环境更加轻量和高效。后续可以基于此进一步优化 Nginx 配置,例如启用 HTTPS、反向代理 API 服务等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值