如果您对Nginx镜像版本有要求,则可以首先在Docker Hub中搜索镜像列表
您可以看到列表中有许多Nginx镜子。在这里,您可以自定义选定的镜子。
在这里,我直接拉动了Nginx的官方镜子。
使用命令:
拉速速度与网络速度有关。等一下,您可以犯错误,并且您不会正常报告错误。
拉动后,检查当前机器镜头图像文件:
使用Docker PS命令列出操作容器
使用Docker PS -A命令列出所有(包括停止)容器
如果我们启动容器时端口被占用或启动的历史记录,则端口被我们的端口占据,并且镜像图像将报告错误。目前,您可以使用它。
停止运行,然后使用删除命令,删除启动标记,然后再次运行。
重新启动容器:
因为我想在此处自定义nginx的配置文件,所以我手动创建一个新的新文件文件夹/usr/soft/nginx,/usr/soft/nginx/conf.d and file/usr/usr/soft/nginx/nginx.conf,
nginx.conf文件内容:
default.conf文件内容:
这是default.conf文件的简要说明。这是包含两个转发规则的80个端口,一个是root路径“/”,另一个是“/pi”。这是路由配置。如果前缀为“/api”
在其中,必须添加此内容,否则,当浏览器打开页面时,如果HTML的标题是中文的,则可能会发生。或者由NGINX映射的静态资源文件夹下方的文件名包含中文,也将被弄乱。
由于我们将容器的目录映射到上面的局部区域,因此我们还需要创建一个新的欢迎页面,因为NGINX的默认欢迎页面没有自动映射,因此非常沮丧。
在nginx的文件夹,新index.html,最简单的html文件下,内容如下:
准备完成,您可以在下面启动NGINX。
启动NGINX图像的命令:
在此处的映射目录之后,我们直接操作主机上的文件夹,即修改Docker容器中的文件。如果修改后未生效,我们可以重新启动容器。这仍然非常方便。
这家初创公司成功。如果您不报告错误,请访问机器的80端口,您应该看到我们的自定义欢迎页面。
今天我遇到了一个坑,我感到有点坑。我已经知道自定义配置文件与镜子中的Nginx相对应,但是这个知识点并没有引起我的心。
今天部署了另一台服务器并计划在端口8080部署该项目,这是不容易纠正的,直接运行上面的Docker操作命令,将前80个端口更改为8080,然后default.conf configure files.instead,到8080,到8080,到8080,然后重新启动Docker容器,一对一,稳定而正确,结果是打开浏览器访问。
结果,一个周末之后,我再次倒下,以为8080端口不好,然后我可以使用80端口来看看您是否可以做到这一点。你能行的。
事实证明,港口80是正常的,好的,更改8080!交叉截止性
这次,我直接修改了启动命令,更改了名称,将映射服务器端口更改为8080,然后直接在浏览器中访问。结果是正常的。.conf配置文件监视。
愚蠢的
重新启动Docker
由于先前的发布一次失败,因此名称被以前的失败容器占据。有两个解决方案:一个是修改启动命令中的值 - 启动命令背后的值,并定义新名称2。删除先前启动的镜像容器以查看先前的容器ID并删除:
删除后,重新开始:
返回ID字符串,表明该创业公司成功,否则将有一个异常信息提示。
这个问题很奇怪。搜索后,我发现互联网上的一些人说,集装箱发布的目录没有权限,但是启动命令中的命名添加了“ -privileged = true”。
最后,发现您需要添加Selinux规则,将要安装的目录添加到白色列表:
在这里,我将在整个主机上直接将NGINX文件夹添加到白名单:
目前,容器仍然为403。我们需要删除该启动的容器,然后重新运行启动容器命令。
另一个原因是当前文件的权限。如果文件夹的权限有问题,则NGINX也将有403个问题。正常文件夹的权限应为“ drwxr-xr-x。6”
上面,我们在NGINX文件夹中直接构建了index.html文件,但是在实际项目包装之后,也许有一个项目名称作为文件夹或vue project.document。
修改default.conf文件中的索引映射规则。
“安全项目”这是我的项目名称,项目名称下的索引是项目的主页。
参考文章:
Centos7中安装的Docker文件的许可
https://www.cnblogs.com/hailun1987/p/9671801.html
作者:Linmengmeng