报错:nginx [emerg] open() etcnginxnginx.conf failed (2 No such file or directory)
报错:nginx: [emerg] open() “/etc/nginx/nginx.conf” failed (2: No such file or directory)
背景:在创建nginx容器时,想把宿主机上的某一目录挂载到容器的/etc/nginx路径,报错"/etc/nginx/nginx.conf" failed (2: No such file or directory)。报错信息说明找不到/etc/nginx/目录下的nginx.conf文件。
思考:这里很奇怪,我需要挂载的是容器中的/etc/nginx/路径,是一个目录。我为什么不能将宿主机上的任一空目录挂载到容器中的/etc/nginx/路径呢?而当我挂载完后,容器/etc/nginx/路径下的内容不会完全复制一份到宿主机被挂载的空目录下吗?为什么还需要在宿主机被挂载的目录上事先存有nginx.conf文件呢?
原因:(ai)“如果你不想使用自定义的nginx.conf文件,你可以不挂载 /etc/nginx 目录,而是让容器使用其默认的配置文件。但如果你选择挂载这个目录,就必须确保 nginx.conf 文件存在。”
基于上面这句话,我将不能把宿主机上任一空目录挂载到nginx容器下的etc/nginx,因为etc/nginx这个路径存放着与nginx初始化相关的配置文件。我需要保证与etc/nginx路径对应的挂载路径存有nginx.conf配置文件,我才能将对应的宿主机目录挂载到容器的etc/nginx路径。
重点事实是,想要挂载到容器的etc/nginx目录,光有nginx.conf文件是不够的。
我参考官方文档将nginx复制出来放到/mydata/nginx目录下,尝试再次创建容器:
docker run -p 80:80 --name nginx \
-v /mydata/nginx:/etc/nginx \
-d nginx
仍然出现报错,报错信息如下:“/etc/nginx/mime.types” failed (2: No such file or directory) in /etc/nginx/nginx.conf:15,意思是找不到mime.types文件…
那怎么办呢?
方法①:
将宿主机上的nginx.conf文件挂载到容器/etc/nginx路径下nginx.conf文件,就能成功创建nginx容器了,如下:
docker run -p 80:80 --name nginx \
-v /mydata/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-d nginx
# :ro的意思是将宿主机上的nginx.conf文件以只读模式挂载到容器内部,这样容器可以使用这个配置文件,但是不能修改它。
该方法参考官方文档:https://hub.docker.com/_/nginx
这个网站貌似需要科学上网才能访问…
所以我把相关部分截图放在这里:

方法②:
新建一个nginx容器,将nginx容器/etc/nginx路径下的全部文件复制到宿主机的/mydata/nginx路径下(/mydata/nginx是我将要挂载的路径),然后删除nginx容器,新创建一个有目录挂载的nginx容器即可。
命令如下:
docker run -p 80:80 --name nginx -d nginx
docker cp nginx:/etc/nginx /mydata/nginx
docker rm -f nginx
docker run -p 80:80 --name nginx \
-v /mydata/nginx:/etc/nginx \
-d nginx
这样就可以将/mydata/nginx目录挂载到容器的/etc/nginx目录下了。
以下参考内容转载自:https://blog.csdn.net/qq_33469537/article/details/126586160
nginx: [emerg] open() “/etc/nginx/nginx.conf” failed (2: No such file or directory)
1.随便启动一个nginx实例,只是为了复制出配置
如果没有对应的nginx版本,可以用docker pull nginx下载最新版本
docker run -p 80:80 --name nginx -d nginx
2.将容器内的配置文件拷贝到当前文件
我们将配置文件放到 /mydata/nginx目录下
cd /mydata/
mkdir nginx
docker container cp nginx:/etc/nginx .
mv nginx/ conf/
mkdir nginx
mv conf/ nginx/
目录结构如下:
drwxr-xr-x. 3 root root 132 Dec 29 2021 conf
drwxr-xr-x. 2 root root 6 Aug 29 00:38 html
drwxr-xr-x. 2 root root 41 Aug 29 00:39 logs
3.终止+删除原容器
docker stop nginx
docker rm nginx
4.创建新的nginx,执行以下命令
docker run -p 80:80 --name nginx
-v /mydata/nginx/html:/usr/share/nginx/html
-v /mydata/nginx/logs:/var/log/nginx
-v /mydata/nginx/conf:/etc/nginx
-d nginx
5.创建成功,访问nginx
我们可以在我们挂载的mydata/nginx/html目录下创建 index.html。
相关文章:
报错:nginx [emerg] open() etcnginxnginx.conf failed (2 No such file or directory)
报错:nginx: [emerg] open() “/etc/nginx/nginx.conf” failed (2: No such file or directory) 背景:在创建nginx容器时,想把宿主机上的某一目录挂载到容器的/etc/nginx路径,报错"/etc/nginx/nginx.conf" failed (2:…...
基于AI的运维资源调度:效率与智能的双重提升
在现代运维场景中,随着系统复杂性和服务规模的不断增长,传统的资源调度方式已无法满足高效、动态和精准的需求。AI技术的引入为资源调度带来了新的解决方案,通过智能算法和数据驱动,实现了资源分配的自动化与优化。本文将详细探讨…...
自动化办公 | 根据成绩进行自动评级
今天我们将介绍一个常见的自动化办公需求:根据成绩自动评级。通过这篇文章,我们将介绍如何利用Python进行自动化办公,将表格中的成绩根据预定的规则进行评级,并生成一个新的带评级信息的表格。 需求背景 我们有一个表格…...
纯血鸿蒙ArkUI线性布局详解
线性布局说明 线性布局(LinearLayout)是开发中最常用的布局,通过线性容器Row和Column构建。线性布局是其他布局的基础,其子元素在线性方向上(水平方向和垂直方向)依次排列。线性布局的排列方向由所选容器组…...
小程序组件 —— 22 组件案例 - 轮播区域绘制
这一节我们实现轮播图最外层的盒子,也就是把轮播图的最外层搭好,先不给轮播图添加图片,因为图片属于新的组件,组件里面有一些知识点,需要单独分开讲; 回顾一下,在进行传统网页开发时࿰…...
如何判断一个学术论文是否具有真正的科研价值?ChatGPT如何提供帮助?
目录 1.创新性与学术贡献的超级加分✔ 2.科研过程中的各个环节—从0到1✔ 3.创新性与理论深度的完美结合✔ 4.论证与写作的清晰性✔ 5.数据整理和文献回顾——效率与精准并存✔ 6.创新性要求辅助✔ 总结 宝子们,学术论文写作的旅程是不是感觉像是走进了迷雾森…...
【置顶】测试学习笔记整理
一、测试开发体系介绍 1.软件测试概念 (1)【理论】软件测试基础概念:软件测试概念、作用、原则、对象,软件缺陷、测试用例 (2)【理论】软件开发流程扫盲:敏捷开发(XP、SCRUM&#…...
新浪微博Java开发面试题及参考答案
怎么判断两个链表是否相交?怎么优化? 判断两个链表是否相交可以采用多种方法。 一种方法是使用双指针。首先分别遍历两个链表,得到两个链表的长度。然后让长链表的指针先走两个链表长度差的步数。之后,同时移动两个链表的指针,每次比较两个指针是否指向相同的节点。如果指…...
【SQL Server】教材数据库(1)
1 利用sql建立教材数据库,并定义以下基本表: 学生(学号,年龄,性别,系名) 教材(编号,书名,出版社编号,价格) 订购(学号…...
Windows系统下载、部署Node.js与npm环境的方法
本文介绍在Windows电脑中,下载、安装并配置Node.js环境与npm包管理工具的方法。 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,其允许开发者使用JavaScript编写命令行工具和服务器端脚本。而npm(Node Package Manager)则…...
SQL 总结
SQL 总结 引言 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。自1974年首次提出以来,SQL已成为数据库领域中不可或缺的一部分。它允许用户执行各种操作,如查询、更新、插入和删除数据库中的数据。本文旨在提…...
设计一个基于Spring Boot开发的电商网站,部署在阿里云上
系统架构设计,包含网络、部署架构等关键信息,要保证系统的高可用。设计中请明确指出使用的产品名称。 为了设计一个基于Spring Boot开发的电商网站系统架构,并确保其高可用性,以下是一个详细的系统架构设计方案,包含网…...
Java jni调用nnom rnn-denoise 降噪
介绍:https://github.com/majianjia/nnom/blob/master/examples/rnn-denoise/README_CN.md 默认提供了一个wav的例子 #include <stdint.h> #include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h>#include …...
C++软件设计模式之状态模式
在C设计模式中,状态模式(State Pattern)是一种行为设计模式,它允许对象在内部状态改变时改变其行为,使对象看起来似乎修改了其类。状态模式的主要动机、意图和适用场合如下: 动机 在面向对象的设计中&…...
Microsoft Visual Studio中的/MT, /MTd,/MD,/MDd分别是什么意思?
1. /MT,/MTd,/MD,/MDd的含义 /MT,/MTd,/MD,/MDd是 Microsoft Visual C 编译器的运行时库链接选项。它们决定了程序如何链接 C 运行时库(CRT)。具体含义如下: /MT&#x…...
谷粒商城项目125-spring整合high-level-client
新年快乐! 致2025年还在努力学习的你! 你已经很努力了,今晚就让自己好好休息一晚吧! 在后端中选用哪种elasticsearch客户端? elasticsearch可以通过9200或者9300端口进行操作 1)9300:TCP spring-data-elasticsearch:transport-…...
日期时间选择(设置禁用状态)
目录 1.element文档需要 2.禁用所有过去的时间 3.设置指定日期的禁用时间 <template><div class"block"><span class"demonstration">起始日期时刻为 12:00:00</span><el-date-pickerv-model"value1"type"dat…...
基于SpringBoot的题库管理系统的设计与实现(源码+SQL+LW+部署讲解)
文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…...
钉钉h5微应用安卓报错error29 ios报错error3 加上报错52013,签名校验失败 (前端)
这两个都是应为 免登报错52013,签名校验失败 用户后端签名使用的url地址和前端访问地址需要严格一致,包括端口号。前端部分可以用alert显示出当前的location.href,后端部分请在签名的时候打印日志。 访问通过反向代理服务器、各种NAT等场景下…...
Vue.js组件开发-客户端如何限制刷新Token次数
在Vue.js组件开发中,限制刷新Token的次数是一个重要的安全措施,可以防止恶意用户或攻击者无限次尝试刷新Token。 客户端限制 在客户端,可以通过Vuex、localStorage或sessionStorage等存储机制来跟踪刷新Token的尝试次数。以下是一个基本的实…...
S32K3项目中途想换调试器?手把手教你为已有工程添加Lauterbach调试接口
S32K3项目中途切换调试器:无缝迁移Lauterbach接口的工程实践 在嵌入式开发领域,调试工具的灵活切换往往意味着效率的飞跃。想象这样一个场景:你正在使用NXP S32K3系列MCU开发汽车电子控制单元,项目已进行到中期测试阶段࿰…...
MarkDownload:如何用浏览器扩展解决网页内容保存的三大痛点
MarkDownload:如何用浏览器扩展解决网页内容保存的三大痛点 【免费下载链接】markdownload A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownlo…...
STC89C52抢答器DIY避坑指南:从万能板焊接调试到常见故障排查(蜂鸣器不响、按键失灵)
STC89C52抢答器DIY避坑指南:从万能板焊接调试到常见故障排查 在电子制作领域,抢答器是一个经典的单片机实践项目。不同于市面上现成的模块化套件,使用万能板手工焊接STC89C52抢答器不仅能深入理解电路原理,更能锻炼实际动手能力。…...
Qwen3-Embedding-4B应用分享:打造智能法律合同检索系统,快速找到关键条款
Qwen3-Embedding-4B应用分享:打造智能法律合同检索系统,快速找到关键条款 1. 引言:法律合同检索的痛点与解决方案 在法律实务工作中,合同审查是一项耗时且关键的任务。律师和法务人员经常需要从数百页的合同中快速定位特定条款&…...
Gemma-3 Pixel Studio参数详解:max_new_tokens与图像理解深度关系实测
Gemma-3 Pixel Studio参数详解:max_new_tokens与图像理解深度关系实测 1. 引言 在当今多模态AI应用领域,Gemma-3 Pixel Studio以其独特的视觉理解能力和流畅的对话体验脱颖而出。作为基于Google Gemma-3-12b-it模型构建的专业工具,它不仅继…...
用51单片机+Proteus仿真,从零到一复刻一个数码管电子钟(附完整代码和电路图)
从零构建51单片机数码管电子钟:Proteus仿真与实战全解析 数码管电子钟作为单片机入门经典项目,能系统训练定时器、中断、数码管驱动等核心技能。但很多初学者在独立实现时,常遇到仿真效果不稳定、显示闪烁或计时不准等问题。本文将用保姆级教…...
Tetrazine-amine HCl salt,CAS:1416711-59-5,四嗪-氨基盐酸盐的描述
Tetrazine-amine HCl salt(四嗪-氨基盐酸盐)是一种结合了四嗪基团和氨基盐酸盐结构的化合物,在化学、生物医药和材料科学等领域具有广泛应用。一、基本信息中文名称:四嗪-氨基盐酸盐英文名称:Tetrazine-amine HCl salt…...
python复习--进程相关--is_alive()
一、Process.is_alive() is_alive() 是 multiprocessing.Process 提供的方法,用于 判断进程当前是否仍在运行。 process.is_alive()返回值: True → 进程正在运行False → 进程未启动 或 已经结束 二、进程生命周期与 is_alive() 一个 Process 对象…...
基于鲸鱼优化算法改进XGBoost在MATLAB中的时间序列预测性能(迭代次数、最大深度和学习...
基于鲸鱼优化算法优化XGBoost(WOA-XGBoost)的时间序列预测 WOA-XGBoost时间序列 采用交叉验证抑制过拟合问题 优化参数为迭代次数、最大深度和学习率 matlab代码,注:暂无Matlab版本要求 -- 推荐 2016B 版本及以上 注:采用 XGBoost 工具箱&…...
Anything to RealCharacters效果评测:与Stable Diffusion ControlNet写实方案对比
Anything to RealCharacters效果评测:与Stable Diffusion ControlNet写实方案对比 1. 项目概述 Anything to RealCharacters是一款专为RTX 4090显卡优化的2.5D转真人图像转换系统。这个工具基于通义千问Qwen-Image-Edit-2511图像编辑底座,集成了专门的…...
