为什么docker-compose卷未正确安装? (我在docker上使用nginx和certbot)

问题描述 投票:1回答:1

我正在尝试使certbot docker容器与我的angular / node设置一起使用,但是Im正在努力安装必需的共享卷。我正在关注教程herehere,但显然没有关注。这是我的docker compose ...角/节点位本身可以正常工作,因此我不会发布Dockerfile。

我想我想在下面实现的是,将我的角度容器中位于路径/ usr / share / nginx / html的静态文件提供给certbox容器,以便它可以发挥魔力...

version: '3'
services:

  angular:
    build: angular
    depends_on:
      - nodejs
    ports:
      - "80:80"
    volumes:
      - certbot-etc:/etc/letsencrypt
      - certbot-var:/var/lib/letsencrypt
      - web-root:/usr/share/nginx/html

  certbot:
    image: certbot/certbot
    container_name: certbot
    volumes:
      - certbot-etc:/etc/letsencrypt
      - certbot-var:/var/lib/letsencrypt
      - web-root:/usr/share/nginx/html
    depends_on:
      - angular
    command: certonly --webroot --webroot-path=/usr/share/nginx/html --email [email protected] --agree-tos --no-eff-email --staging -d trailscape.cc -d www.trailscape.cc

  nodejs:
    build: nodejs
    volumes:
      - ./data:/data
    ports:
      - "8080:8080"

volumes:
    certbot-etc:
    certbot-var:
    web-root:

我遇到的问题是安装网络根卷..当我检查certbot docker映像时,我得到了:

            "Volumes": {
                "/etc/letsencrypt": {},
                "/var/lib/letsencrypt": {}
            },

/usr/share/nginx/html。如果我检查角度图像,甚至更糟:

            "Volumes": null,

但是如果我使用docker volume ls查看卷,则可以看到Web根卷:

DRIVER              VOLUME NAME
local               ivyterrace_certbot-etc
local               ivyterrace_certbot-var
local               ivyterrace_web-root

怎么回事,为什么我的命名卷无法正确安装? nodejs卷可以正常安装。

我已经尝试过两天了,所以任何指针都值得赞赏。

docker nginx docker-compose docker-volume certbot
1个回答
0
投票

可能是权限问题,第一次尝试使用sudo(如果操作系统是linux)

第二:尝试像这样更改音量。

 volumes:
      - ../data/certbot-etc:/etc/letsencrypt

希望您的操作系统不是Windows。

© www.soinside.com 2019 - 2024. All rights reserved.