gpt4 book ai didi

nginx - 将 nginx conf 挂载为 docker 卷会导致系统错误 boot2docker

转载 作者:行者123 更新时间:2023-12-02 13:16:56 25 4
gpt4 key购买 nike

我正在尝试在 docker 容器中运行 nginx,同时安装配置和静态 html 文件以供其使用。据我所知,非常简单的东西,但我不断收到有关该目录不是目录的错误?

我使用最新版本的 Boot2Docker 在 Mac 上运行此示例。

我有以下文件夹结构:

% tree                 ~/Projects/Docker/nginx-example
.
├── html
│   └── test.html
└── nginx.conf

1 directory, 2 files

nginx.conf内容如下:

http {
server {
listen *:80; # Listen for incoming connections from any interface on port 80
server_name ""; # Don't worry if "Host" HTTP Header is empty or not set
root /usr/share/nginx/html; # serve static files from here
}
}

我尝试运行容器(在 ~/Projects/Docker/nginx-example 目录中),如下所示:

docker run --name nginx-container \
-v /Users/M/Projects/Docker/nginx-example/html:/usr/share/nginx/html:ro \
-v /Users/M/Projects/Docker/nginx-example/nginx.conf:/etc/nginx:ro \
-P -d nginx

Originally I had tried something like -v $(pwd)/html:/usr/share/nginx/html:ro to keep the command shorter, but when it didn't work I thought I'd be explicit just in case there was some funky sub shell issue I wasn't aware of

我得到以下输出

fc41205914098d236893a3b4e20fa89703567c666ec1ff29f123215dfbef7163
Error response from daemon:
Cannot start container fc41205914098d236893a3b4e20fa89703567c666ec1ff29f123215dfbef7163:
[8] System error: not a directory

有人知道我缺少什么吗?

Mac Boot2Docker 卷问题?

我知道使用 Boot2Docker 时将卷安装到容器中存在问题(尽管我相信这个问题早已得到解决)

Mount volume to Docker image on OSX

但是我无论如何都按照那里的说明进行操作,但仍然不起作用

最佳答案

-v/Users/M/Projects/Docker/nginx-example/nginx.conf:/etc/nginx:ro

您正在尝试将文件挂载到目录 - 将其更改为:

-v/Users/M/Projects/Docker/nginx-example/nginx.conf:/etc/nginx/nginx.conf:ro 你应该没问题。看看 Docker Volumes Docs 中的示例

同样,pwd 应该在路径中工作。 shell 在 docker 命令运行之前展开它,就像数学和内括号一样,首先运行内部子命令。

关于nginx - 将 nginx conf 挂载为 docker 卷会导致系统错误 boot2docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31763172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com