1

我的 docker-compose.yml 如下所示。当我运行 docker-compose up 时,出现以下错误。

错误:在文件 './docker-compose.yml' 中,服务名称 True 必须是带引号的字符串,即 'True'。

version: '3'
services:

  db:
    restart: always
    image: postgres:9.6-alpine
    container_name: pleroma_postgres
    networks:
      - pleroma
    volumes:
      - ./postgres:/var/lib/postgresql/data

  web:
    build: .
    image: pleroma
    container_name: pleroma_web
    restart: always
    environment:
      - VIRTUAL_HOST=<myplaceholderhost>
      - VIRTUAL_PORT=4000
      - LETSENCRYPT_HOST=<myplaceholderhost>
      - LETENCRYPT_EMAIL=<myplaceholderemail>
    expose:
      - "4000"
    volumes:
      - ./uploads:/pleroma/uploads
    depends_on:
      - db

  nginx: 
    image: jwilder/nginx-proxy
    container_name: nginx
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /apps/docker-articles/nginx/vhost.d:/etc/nginx/vhost.d
      - /apps/docker-articles/nginx/certs:/etc/nginx/certs:ro
      - /apps/docker-articles/nginx/html:/usr/share/nginx/html
    restart: always
    ports:
      - "80:80"
      - "443:443"
    labels:
      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    networks:
      - pleroma

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion:v1.5
    container_name: letsencrypt
    volumes_from:
      - nginx
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /apps/docker-articles/nginx/vhost.d:/etc/nginx/vhost.d
      - /apps/docker/articles/nginx/certs:/etc/nginx/certs:rw
      - /apps/docker-articles/nginx/html:/usr/share/nginx/html

networks:
  pleroma:

我的码头工人版本是

Docker 版本 18.06.1-ce,构建 e68fc7a

我的 docker compose 版本是

docker-compose 版本 1.23.1,构建 b02f1306

运行 CoreOS 版本 1911.3.0

4

2 回答 2

0

在 CentOS 环境中,您的.yml文件目录必须是/usr/local/bin

于 2020-12-14T04:45:51.677 回答
0

我最终通过修改我的 docker-compose.yml 文件的 nginx 和letsencrypt 部分来解决这个问题,如下所示。

 nginx: 
    image: jwilder/nginx-proxy
    container_name: nginx
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - /apps/docker-articles/nginx/vhost.d:/etc/nginx/vhost.d
      - /apps/docker-articles/nginx/certs:/etc/nginx/certs:ro
      - /apps/docker-articles/nginx/html:/usr/share/nginx/html
    restart: always
    ports:
      - "80:80"
      - "443:443"
    labels:
      - "NGINX_PROXY_CONTAINER=true"
    networks:
      - pleroma

  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion:v1.5
    container_name: letsencrypt
    environment:
      - NGINX_PROXY_CONTAINER=true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /apps/docker-articles/nginx/vhost.d:/etc/nginx/vhost.d
      - /apps/docker/articles/nginx/certs:/etc/nginx/certs:rw
      - /apps/docker-articles/nginx/html:/usr/share/nginx/html

docker-compose v3 中似乎不推荐使用“volumes_from”。以及我忘记了标签周围的引号并且需要在letsencrypt中设置我的环境。

于 2018-11-15T21:43:38.890 回答