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

Docker安装Nginx

docker 拉取镜像与启动容器

在前边的文章中我们已经成功的安装了 docker 并测试了相关的拉取。

docker pull docker.1ms.run/nginx:1.27.3-perl

接下来我们开始进行 Nginx 的安装与配置

先查看一下我们的镜像

[root@xiaozaoshu ~]# docker images
REPOSITORY             TAG           IMAGE ID       CREATED       SIZE
docker.1ms.run/nginx   1.27.3-perl   bde8fbc9aaa8   6 weeks ago   240MB
nginx                  latest        3f8a4339aadd   7 years ago   108MB

其中 bde8fbc9aaa8 是本次要使用的镜像的版本

启动容器,看看服务是否能够正常访问

[root@xiaozaoshu ~]# docker run -d --name nginx-xiaozaoshu -p 80:80 bde8fbc9aaa8
caf39a69561b967df1e775776e8f59379c61db9b2562da74840e4960a145f251

打开浏览器访问得到如下的结果,可以看到 Nginx 的服务已经正常启动了

在这里插入图片描述

docker 挂载宿主机的目录进行资源的配置

资源数据、配置数据、日志数据,这三项数据是我们需要保存到物理机的数据,如果容器重启或者更换镜像,可以继续使用之前配置和数据,进行系统的恢复或者系统的升级迭代

创建相关的目录

# 创建挂载目录
# 配置文件存放位置
mkdir -p /usr/local/nginx/conf
# 日志文件存放位置
mkdir -p /usr/local/nginx/log
# 资源文件存放位置
mkdir -p /usr/local/nginx/html

容器中的nginx.conf文件和conf.d文件夹复制到宿主机

# 生成容器
# 将容器nginx.conf文件复制到宿主机
docker cp nginx-xiaozaoshu:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx-xiaozaoshu:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx-xiaozaoshu:/usr/share/nginx/html /usr/local/nginx/

修改 nginx 的配置

# 编辑配置文件, 每个人的配置存放文职可能有所不同,根据自己的配置进行调整
vim /usr/local/nginx/conf/conf.d/default.conf
# 添加 charset utf-8; 配置, 使系统支持中文
server {listen       80;listen  [::]:80;server_name  localhost;charset utf-8;#access_log  /var/log/nginx/host.access.log  main;......
}

修改首页内容

vim /usr/local/nginx/html/index.html

<!DOCTYPE html>
<html>
<head><meta charset="text/html;charset=utf-8" /><title>欢迎来到小枣树下!</title><style>html { color-scheme: light dark; }body { width: 35em; margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif; }</style>
</head>
<body>
<h1>欢迎来到小枣树下!</h1>
</body>
</html>

本次启动的容器只是为了拷贝对应的配置文件,拷贝完成基础的配置文件后,可以将容器删除了

# 查看容器列表
[root@xiaozaoshu html]# docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                               NAMES
caf39a69561b   bde8fbc9aaa8   "/docker-entrypoint.…"   36 minutes ago   Up 36 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx-xiaozaoshu
# 停止容器
[root@xiaozaoshu html]# docker stop nginx-xiaozaoshu
nginx-xiaozaoshu
# 删除容器
[root@xiaozaoshu html]# docker rm nginx-xiaozaoshu
nginx-xiaozaoshu

然后使用宿主机的自定义的配置启动一个新的容器运行 Nginx

docker run \
-p 80:80 \
--name nginx-xiaozaoshu \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/log:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-d bde8fbc9aaa8

重新访问页面

在这里插入图片描述

参数说明

命令描述
–name nginx-xiaozaoshu启动容器的名字
-d后台运行
-p 80:80将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf挂载nginx.conf配置文件
-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d挂载nginx配置文件
-v /usr/local/nginx/log:/var/log/nginx挂载nginx日志文件
-v /usr/local/nginx/html:/usr/share/nginx/html挂载nginx内容
bde8fbc9aaa8镜像ID
\shell 命令换行
http://www.dtcms.com/a/277465.html

相关文章:

  • Web:JS的三种引用方式
  • 《每日AI-人工智能-编程日报》--2025年7月12日
  • Windows 常用命令
  • 网络编程 JAVA
  • 视觉语言导航与目标导航
  • 【银行测试】基金项目测试详细,测试点+面试(一)
  • ​​LangChain专家养成:工具扩展/Agent决策/记忆控制三维进阶
  • 250707脑电分析课题进展——EEGLAB的使用
  • 前端工程化-构建打包
  • 大模型-量化技术
  • 前端构建工具 Webpack 5 的优化策略与高级配置
  • [2025CVPR]DenoiseCP-Net:恶劣天气下基于LiDAR的高效集体感知模型
  • 神经网络的层与块
  • 掌握系统设计的精髓:12个核心设计模式的通俗解读
  • 【编程实践】利用open3d生成物体的最长边方向并可视化
  • 面向对象设计模式详解
  • CD49.【C++ Dev】容器适配器模式
  • 深入解析5G核心网容灾:UDM 故障场景下 SMF 容灾机制深度解析
  • C++ 单例模式实现
  • 【读书笔记】《C++ Software Design》第五章:The Strategy and Command Design Patterns
  • Java学习------设计模式(1)
  • ZKmall开源商城技术攻略:轻松掌握规则引擎与Spring Boot3接口的开发技巧
  • Linux V4L2应用编程常用结构体介绍
  • STEP 7-Micro/WIN SMART 编程软件:从入门到精通的使用指南
  • 面试150 从前序与中序遍历构造二叉树
  • STM32-第五节-TIM定时器-1(定时器中断)
  • Clojure和Golang中的Channel有什么异同(TBC)
  • 构建应用内智能:衡石嵌入式BI如何打造“指标中台”驱动的场景化分析
  • Python文件路径操作全面指南:从基础到高级应用
  • 深入理解数据库连接池:原理、实现与Druid实战