如何将nginx docker的/ etc / nginx /目录挂载到托管虚拟机?

时间:2020-04-08 10:32:21

标签: linux docker nginx volume mount

我在大学里完成了这项任务,以便在虚拟机上运行nginx docker并将/ etc / nginx /目录挂载到'pwd'/ webconfig,但是我不知道如何解决。我尝试过:

docker run -p 80:80 -v'pwd'/ webconfig /:/ etc / nginx / --name websrv -d nginx

但是我在Docker日志中收到了此错误消息

[emerg] 1#1:open()“ /etc/nginx/nginx.conf”失败(2:无此类文件或目录) nginx:[emerg] open()“ /etc/nginx/nginx.conf”失败(2:无此类文件或目录)

此后,我也尝试挂载nginx.conf:

docker run -p 80:80 -v'pwd'/ webconfig / nginx.conf /:/ etc / nginx / nginx.conf / -v'pwd'/ webconfig /:/ etc / nginx / --name websrv -d nginx

然后我在日志中收到此错误消息:

[暴击] 1#1:pread()“ /etc/nginx/nginx.conf”失败(21:是目录) nginx:[crit] pread()“ /etc/nginx/nginx.conf”失败(21:是目录)

这是我无法前进的地方。

3 个答案:

答案 0 :(得分:0)

请确保使用正确的文件夹从中获取nginx.conf文件。

'pwd'通常是指当前目录。如果您在终端中运行pwd,将会看到当前所在的文件夹。 取得该文件夹并添加/ webconfig以获取完整的当前目录。您可能会得到类似/usr/username/home/webconfig/

的信息

您可以使用该文件夹挂载docker卷,并且您的命令应如下所示:

docker run -p 80:80 -v '/usr/username/home/webconfig/:/etc/nginx/ --name websrv -d nginx

答案 1 :(得分:0)

尝试一下:

docker run -p 80:80 -v $PWD/webconfig:/etc/nginx/ --name websrv -d nginx

答案 2 :(得分:-1)

您可以使用<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" /> <div class="form-group"> <label for="status" class="control-label col-md-2">Rental Status</label> <div class="col-md-10"> <select id="status" class="form-control"> <option value="">Select...</option> <option value="1">One</option> <option value="2">Two</option> </select> </div> </div> <div class="form-group"> <label for="test2" class="control-label col-md-2">Return Date</label> <div class="col-md-10"> <input type="text" id="test2" class="form-control" /> </div> </div>命令将卷从主机系统装载到Docker容器。除此之外,您还可以使用VOLUME命令上传已经创建的配置文件。