在为 /etc/nginx 创建卷时,nginx 无法在 docker 中启动,卷最终为空

在为 /etc/nginx 创建卷时,nginx 无法在 docker 中启动,卷最终为空

我正在尝试在我的 Docker 服务器上使用 nginx,但是在创建指向的卷时/etc/nginx,nginx 无法启动并且该卷最终为空。

这是我的docker-compose.yml:

version: '3'

services:

  nginx:
    image: nginx:1.15-alpine
    container_name: nginx-1
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./www:/var/www
      - ./container/nginx/conf:/etc/nginx

运行时docker-compose up...

nginx-1        | nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
nginx-1 exited with code 1

如果我- ./container/nginx/conf:/etc/nginx从 docker-compose.yml 中删除,它可以正常启动,但使用默认配置。

这在和上都会nginx:1.15-alpine发生nginx:latest

我做错了什么?提前感谢您的回答!

答案1

我设法找到了一种解决方法。

我运行了一个临时容器,并为该卷分配了一个不同的目录,然后将/etc/nginx容器内的内容复制到该卷。

docker run -v ~/container/nginx/conf:/temp nginx:latest nginx-temp cp -r /etc/nginx /tmp

随后按 CTRL+C,卷现在有了正确的内容。这是一种麻烦的、可能远非最佳实践的解决方案,但它确实有效。

相关内容