代码之家  ›  专栏  ›  技术社区  ›  SoftTimur

在容器中找不到“/etc/letsencrypt/live/”

  •  0
  • SoftTimur  · 技术社区  · 4 年前

    我有一个服务器与以下工作良好 docker-compose.yml . 我可以在集装箱里找到 /etc/letsencrypt/live/v2.10studio.tech/fullchain.pem /etc/letsencrypt/live/v2.10studio.tech/privkey.pem .

    version: "3"
    services:
      frontend:
        restart: unless-stopped
        image: staticfloat/nginx-certbot
        ports:
          - 80:8080/tcp
          - 443:443/tcp
        environment:
          CERTBOT_EMAIL: owner@company.com
        volumes:
          - ./conf.d:/etc/nginx/user.conf.d:ro
          - letsencrypt:/etc/letsencrypt
      10studio:
        image: bitnami/nginx:1.16
        restart: always
        volumes: 
          - ./build:/app
          - ./default.conf:/opt/bitnami/nginx/conf/server_blocks/default.conf:ro
          - ./configs/config.prod.js:/app/lib/config.js
        depends_on: 
        - frontend
    
    volumes:
      letsencrypt:
    
    networks:
      default:
        external:
          name: 10studio
    

    我试图用相同的设置创建另一个服务器,但找不到 live /etc/letsencrypt 容器的顶部。

    有人知道怎么了吗?文件在哪里 /etc/letsencrypt/live 从哪里来?

    编辑1:

    我有一个文件 conf.d/.conf ,我尝试重建并收到以下消息:

    root@iZj6cikgrkjzogdi7x6rdoZ:~/10Studio/pfw# docker-compose up --build --force-recreate --no-deps
    Creating pfw_pfw_1 ... done
    Creating pfw_10studio_1 ... done
    Attaching to pfw_pfw_1, pfw_10studio_1
    10studio_1  |  11:25:33.60 
    10studio_1  |  11:25:33.60 Welcome to the Bitnami nginx container
    pfw_1       | templating scripts from /etc/nginx/user.conf.d to /etc/nginx/conf.d
    pfw_1       | Substituting variables 
    pfw_1       |  -> /etc/nginx/user.conf.d/*.conf
    pfw_1       | /scripts/util.sh: line 116: /etc/nginx/user.conf.d/*.conf: No such file or directory
    pfw_1       | Done with startup
    pfw_1       | Run certbot
    pfw_1       | ++ parse_domains
    pfw_1       | ++ for conf_file in /etc/nginx/conf.d/*.conf*
    pfw_1       | ++ xargs echo
    pfw_1       | ++ sed -n -r -e 's&^\s*ssl_certificate_key\s*\/etc/letsencrypt/live/(.*)/privkey.pem;\s*(#.*)?$&\1&p' /etc/nginx/conf.d/certbot.conf
    pfw_1       | + auto_enable_configs
    pfw_1       | + for conf_file in /etc/nginx/conf.d/*.conf*
    pfw_1       | + keyfiles_exist /etc/nginx/conf.d/certbot.conf
    pfw_1       | ++ parse_keyfiles /etc/nginx/conf.d/certbot.conf
    pfw_1       | ++ sed -n -e 's&^\s*ssl_certificate_key\s*\(.*\);&\1&p' /etc/nginx/conf.d/certbot.conf
    pfw_1       | + return 0
    pfw_1       | + '[' conf = nokey ']'
    pfw_1       | + set +x
    10studio_1  |  11:25:33.60 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-nginx
    10studio_1  |  11:25:33.61 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-nginx/issues
    10studio_1  |  11:25:33.61 Send us your feedback at containers@bitnami.com
    10studio_1  |  11:25:33.61 
    10studio_1  |  11:25:33.62 INFO  ==> ** Starting NGINX setup **
    10studio_1  |  11:25:33.64 INFO  ==> Validating settings in NGINX_* env vars...
    10studio_1  |  11:25:33.64 INFO  ==> Initializing NGINX...
    10studio_1  |  11:25:33.65 INFO  ==> ** NGINX setup finished! **
    10studio_1  | 
    10studio_1  |  11:25:33.66 INFO  ==> ** Starting NGINX **
    

    docker-compose up -d --build ,我还是找不到 /etc/letsencrypt/live

    0 回复  |  直到 4 年前
        1
  •  1
  •   BMW    4 年前

    请通过检查 original site of this image staticfloat/nginx-certbot ,它将创建并自动续订网站SSL证书。

    配置文件在 ./conf.d

    为自定义配置创建配置目录:

    $ mkdir conf.d
    And a .conf in that directory:
    
    server {
        listen              443 ssl;
        server_name         server.company.com;
        ssl_certificate     /etc/letsencrypt/live/server.company.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/server.company.com/privkey.pem;
    
        location / {
            ...
        }
    }
    

    /etc/letsencrypt letsencrypt

    services:
      frontend:
        restart: unless-stopped
        image: staticfloat/nginx-certbot
        ...
        volumes:
          ...
          - letsencrypt:/etc/letsencrypt
    
    volumes:
      letsencrypt:
    

    如果你需要参考资料 /etc/letsencrypt/live ,您需要装载相同的卷 你的新应用程序

        2
  •  0
  •   SoftTimur    4 年前

    换了衣服就行了 ports: - 80:8080/tcp ports: - 80:80/tcp .

        3
  •  -1
  •   Nico Haase    4 年前

    作为 /etc/letsencrypt /etc/letsencrypt/live 在创建证书后被文件填充