我正在尝试启动一个Nginx容器,该容器提供/ opt / content中位于主机上的静态内容。
容器以以下内容开头:
docker run -p 8080:80 -v /opt/content:/usr/share/nginx/html nginx:alpine
Run Code Online (Sandbox Code Playgroud)
Nginx一直给我403 Forbidden。而且,当尝试检查目录的内容时,我得到了奇怪的结果:
$ $ docker exec -i -t inspiring_wing /bin/sh
/ # ls -l /usr/share/nginx/
total 4
drwxrwxrwx 3 root root 4096 Aug 15 08:08 html
/ # ls -l /usr/share/nginx/html/
ls: can't open '/usr/share/nginx/html/': Permission denied
total 0
Run Code Online (Sandbox Code Playgroud)
我chmod -R 777 /opt/确定对主机没有任何限制,但不会改变任何内容。我也尝试在:ro没有运气的情况下将标志添加到音量选项。
如何使已装载的卷对容器可读?
更新:这是我为重现此问题而做的全部步骤(以root用户身份,并使用另一个目录从干净的配置开始):
mkdir /public
echo "Hello World" > /public/index.html
chmod -R 777 /public
docker run -p 8080:80 -d -v /public:/usr/share/nginx/html nginx:alpine …Run Code Online (Sandbox Code Playgroud)