• Docker安装Nginx教程步骤


    一、拉取 nginx 镜像

    1. # 拉取
    2. docker pull nginx:1.23.0
    3. # 查看镜像
    4. docker images

     

    二、创建默认配置的 nginx 容器实例

    1、使用 docker -run 创建容器

    docker run --name df-nginx -p 8081:80 -d nginx:1.23.0

    参数说明:
    --name xxx:容器实例名称
    -p 8081:80:把容器中的 80 端口映射到宿主机的 8081 端口
    -d:后台运行
    nginx:1.23.0:用于创建容器用的镜像名称和版本号

    2、访问测试
    打开 http://106.12.163.183:8081 如下:

    三、创建挂载目录配置的 nginx 容器实例

    1、在主机创建挂载目录,下面会用到

    1. # 创建目录
    2. mkdir -p //devtools/nginx/www //devtools/nginx/logs //devtools/nginx/conf

    www:目录将映射为 nginx 容器配置的虚拟目录
    logs:目录将映射为 nginx 容器的日志目录
    conf:目录里的配置文件将映射为 nginx 容器的配置文件

    2、拷贝容器内 nginx 实例默认配置文件到本地刚才创建的 conf 目录下

    1. # 复制nginx容器内的 nginx.conf 文件到主机
    2. docker cp df-nginx:/etc/nginx/nginx.conf //devtools/nginx/conf/

     语法:docker cp 容器名称或Id:容器文件目录 主机目录

    3、创建带挂载 nginx 容器实例

    docker run --name df-nginx-web -p 8082:80 -d -v //devtools/nginx/www:/usr/share/nginx/html -v //devtools/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v //devtools/nginx/logs:/var/log/nginx nginx:1.23.0

    挂载说明: 

    -v //devtools/nginx/www:/usr/share/nginx/html;将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html
    -v //devtools/nginx/conf/nginx.conf:/etc/nginx/nginx.conf;将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf
    -v //devtools/nginx/logs:/var/log/nginx;将我们自己创建的 logs 挂载到容器的 /var/log/nginx

    4、部署测试挂载
    在 www 目录下创建 index.html 文件,内容如下:

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>菜鸟教程(runoob.com)</title>
    6. </head>
    7. <body>
    8. <h1>我的第一个标题</h1>
    9. <p>测试我的第一个段落,主机挂载到容器成功!</p>
    10. </body>
    11. </html>

    5、启动、访问成功

    四、重新载入 nginx 的配置信息或静态文件部署

    1、重新载入相关配置信息

    1. # 使用 HUP 重新载入
    2. docker kill -s HUP 容器名称或Id

    2、重启 nginx 容器实例

    docker restart 容器名称或Id

  • 相关阅读:
    Vue3 实现文件预览 Word Excel pdf 图片 视频等格式 大全!!!!
    36.6K star!Immich - 一款开源高性能的自托管照片和视频备份方案
    基于SSM的校园二手交易网站设计与实现
    3172:练28.3 短信计费
    Shell正则表达式
    04【NIO核心组件之Buffer】
    【Redis】深度学习与实践指南系列
    Unity与Js通信交互
    哪个定时任务库更好用? Schedule,APScheduler,还是 Celery?
    FreeRTOS源码阅读笔记2--list.c
  • 原文地址:https://blog.csdn.net/hkl_Forever/article/details/125476864