我正在尝试在 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
最初我尝试过类似的事情-v $(pwd)/html:/usr/share/nginx/html:ro
为了使命令更短,但是当它不起作用时,我想我应该明确地说明,以防出现一些我不知道的时髦的子 shell 问题
我得到以下输出
fc41205914098d236893a3b4e20fa89703567c666ec1ff29f123215dfbef7163
Error response from daemon:
Cannot start container fc41205914098d236893a3b4e20fa89703567c666ec1ff29f123215dfbef7163:
[8] System error: not a directory
有人知道我缺少什么吗?
Mac Boot2Docker 卷问题?
我知道使用 Boot2Docker 时将卷安装到容器中存在问题(尽管我相信这个问题早已得到解决)
i.e. 将卷挂载到 OSX 上的 Docker 映像 https://stackoverflow.com/questions/26348353/mount-volume-to-docker-image-on-osx/27540955#27540955
但我无论如何都按照那里的说明进行操作,但仍然不起作用