查看“Nginx管理内容和配置文件”的源代码
←
Nginx管理内容和配置文件
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
NGINX提供的内容和NGINX配置文件可以通过以下几种方式进行管理: # 在Docker主机上维护文件 # 从Docker主机复制文件到容器 # 在容器中维护文件 <br> <span id="在docker主机上维护内容和配置文件"></span> == 在Docker主机上维护内容和配置文件 == 当创建容器时,您可以将Docker主机上的本地目录挂载到容器中的目录。NGINX镜像使用默认的NGINX配置,该配置将/usr/share/nginx/html作为容器的根目录,并将配置文件放在/etc/nginx中。对于在本地目录/var/www中存放内容和在/var/nginx/conf中存放配置文件的Docker主机,运行以下命令: <pre>$ docker run --name mynginx2 --mount type=bind,source=/var/www,target=/usr/share/nginx/html,readonly --mount type=bind,source=/var/nginx/conf,target=/etc/nginx/conf,readonly -p 80:80 -d nginxplus</pre> <br> 在Docker主机上的本地目录/var/www和/var/nginx/conf中对文件所做的任何更改都会反映在容器中的/usr/share/nginx/html和/etc/nginx目录中。readonly选项意味着这些目录只能在Docker主机上更改,而不能在容器内更改。 <br> <span id="从docker主机复制内容和配置文件"></span> == 从Docker主机复制内容和配置文件 == 在创建容器期间,Docker可以从Docker主机上的本地目录复制内容和配置文件。一旦创建了容器,通过在文件更改时创建新容器或在容器内修改文件来维护文件。 <br> 复制文件的一种简单方法是创建一个Dockerfile,其中包含在基于NGINX镜像生成新Docker镜像期间运行的命令。对于Dockerfile中的文件复制(COPY)命令,本地目录路径相对于Dockerfile所在的构建上下文。 <br> 假设内容目录是content,配置文件所在的目录是conf,这两个目录都是Dockerfile所在目录的子目录。NGINX镜像具有默认的NGINX配置文件,包括default.conf,位于/etc/nginx/conf.d目录中。要仅使用Docker主机上的配置文件,请使用RUN命令删除默认文件: <pre>FROM nginx RUN rm /etc/nginx/conf.d/default.conf COPY content /usr/share/nginx/html COPY conf /etc/nginx</pre> <br> 通过在Dockerfile所在的目录运行以下命令来创建NGINX镜像。命令末尾的句点(“.”)将当前目录定义为构建上下文,其中包含Dockerfile和要复制的目录: <pre>docker build -t mynginx_image1 .</pre> <br> 基于mynginx_image1镜像创建一个名为mynginx3的容器: <pre>docker run --name mynginx3 -p 80:80 -d mynginx_image1</pre> <br> 要对容器中的文件进行更改,请按照下一节中描述的使用辅助容器。 <br> == 在容器中维护内容和配置文件 == 由于无法使用SSH访问NGINX容器,要直接编辑内容或配置文件,您需要创建一个具有shell访问权限的辅助容器。为了让辅助容器能够访问文件,需要创建一个为镜像定义了正确的Docker数据卷的新镜像: <br> 使用Dockerfile复制nginx内容和配置文件,并为镜像定义卷: <pre>FROM nginx COPY content /usr/share/nginx/html COPY conf /etc/nginx VOLUME /usr/share/nginx/html VOLUME /etc/nginx</pre> <br> 通过运行以下命令创建新的NGINX镜像: <pre>docker build -t mynginx_image2 .</pre> <br> 基于mynginx_image2镜像创建一个名为mynginx4的NGINX容器: <pre>docker run --name mynginx4 -p 80:80 -d mynginx_image2</pre> <br> 启动一个名为mynginx4_files的辅助容器,该容器具有shell,可以访问我们刚刚创建的mynginx4容器的内容和配置目录: <pre>$ docker run -i -t --volumes-from mynginx4 --name mynginx4_files debian /bin/bash root@b1cbbad63dd1:/#</pre> <br> 其中: 新创建的mynginx4_files辅助容器以前台运行,具有持久的标准输入(-i选项)和tty(-t选项)。mynginx4中定义的所有卷都作为辅助容器中的本地目录挂载。 debian参数表示辅助容器使用Docker Hub中的Debian镜像。因为NGINX镜像也使用Debian,所以使用Debian作为辅助容器是最高效的,而不是让Docker加载另一个操作系统。 /bin/bash参数表示在辅助容器中运行bash shell,提供一个shell提示符,您可以根据需要修改文件 <br> 要启动和停止容器,请运行以下命令: <pre>docker start mynginx4_files docker stop mynginx4_files</pre> <br> 要退出shell但保持容器运行,请按Ctrl+p,然后按Ctrl+q。要重新获得对运行中容器的shell访问权限,请运行此命令: <pre>docker attach mynginx4_files</pre> <br> 要退出shell并终止容器,请运行exit命令。 <br>
返回至“
Nginx管理内容和配置文件
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息