Docker 卷不具有约束力
Docker volumes not binding
我一直在为这个看起来很简单的问题而烦恼,但我不知道我做错了什么。
我正在尝试设置一个 nginx 容器,用于在不同端口上提供一些动态 html 报告。为此,我尝试将包含 html 文件的卷绑定到正确的位置。
docker-compose 文件如下所示:
version: '3'
services:
report-host:
build: ./host
image: host:latest
network_mode: 'host'
ports:
- "5000:5000"
- "5001:5001"
volumes:
- ./5000/:/var/www/port5000/
- ./5001/:/var/www/port5001/
command: nginx -g "daemon off;"
5000 和 5001 目录与 docker-compose 文件位于同一目录中,并且都包含一个 index.html 文件。
构建主机映像的docker文件非常简单:
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
# Create the volume directories
RUN mkdir -p /var/www/port5000/ && mkdir -p /var/www/port5001/
最后,conf 文件是准系统,因为它确实不需要任何特殊的东西
events {
worker_connections 1024;
}
http {
server {
listen 5000;
root /var/www/port5000/;
}
server {
listen 5001;
root /var/www/port5001/;
}
}
然而,当我 运行 docker-compose run report-host ls var/www/port5000
目录存在但只是空的。打开 localhost:5000 时,它只是给我一个找不到页面的消息。
为什么在这种情况下卷没有绑定?我有几个其他项目做同样的事情,它们确实绑定正确...
更新:我正在搞乱一些,在某些时候 port5000 文件夹现在在我的卷中有一个子文件夹,但它仍然是空的。另一个文件夹具有相同的结构,但该卷不包含子文件夹。我开始认为发生了一些完全疯狂的事情,我将尝试完全卸载 docker 然后重新安装以尝试解决问题。
几天前我更改了密码,显然这就是问题所在。我在 Docker 中更新了 Windows 共享驱动器菜单中的凭据,以便正确公开文件。
感谢@larsks 让我走上了解决问题的道路。
我一直在为这个看起来很简单的问题而烦恼,但我不知道我做错了什么。
我正在尝试设置一个 nginx 容器,用于在不同端口上提供一些动态 html 报告。为此,我尝试将包含 html 文件的卷绑定到正确的位置。
docker-compose 文件如下所示:
version: '3'
services:
report-host:
build: ./host
image: host:latest
network_mode: 'host'
ports:
- "5000:5000"
- "5001:5001"
volumes:
- ./5000/:/var/www/port5000/
- ./5001/:/var/www/port5001/
command: nginx -g "daemon off;"
5000 和 5001 目录与 docker-compose 文件位于同一目录中,并且都包含一个 index.html 文件。
构建主机映像的docker文件非常简单:
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
# Create the volume directories
RUN mkdir -p /var/www/port5000/ && mkdir -p /var/www/port5001/
最后,conf 文件是准系统,因为它确实不需要任何特殊的东西
events {
worker_connections 1024;
}
http {
server {
listen 5000;
root /var/www/port5000/;
}
server {
listen 5001;
root /var/www/port5001/;
}
}
然而,当我 运行 docker-compose run report-host ls var/www/port5000
目录存在但只是空的。打开 localhost:5000 时,它只是给我一个找不到页面的消息。
为什么在这种情况下卷没有绑定?我有几个其他项目做同样的事情,它们确实绑定正确...
更新:我正在搞乱一些,在某些时候 port5000 文件夹现在在我的卷中有一个子文件夹,但它仍然是空的。另一个文件夹具有相同的结构,但该卷不包含子文件夹。我开始认为发生了一些完全疯狂的事情,我将尝试完全卸载 docker 然后重新安装以尝试解决问题。
几天前我更改了密码,显然这就是问题所在。我在 Docker 中更新了 Windows 共享驱动器菜单中的凭据,以便正确公开文件。
感谢@larsks 让我走上了解决问题的道路。