设置编织贸易和traefik

时间:2018-12-12 09:02:59

标签: docker traefik

我正在尝试使用docker设置weweave Commerce。但是在步骤4上

  

使用诸如Traefik(或nginx或haproxy)之类的云原生边缘路由器:   将所有传入请求路由到/ api /到后端。   将所有其他传入请求路由到前端。

我该怎么做?我在weweave文档中找不到它,我也不了解traefik文档。

更新:我现在是从源代码构建的,并且可以正常运行。我将尝试给出的答案,如果可以的话会做出反应,因此,如果您有相同的问题,可以使用它。

1 个答案:

答案 0 :(得分:0)

我设法使用以下撰写文件来启动和运行此文件。 在具有以下内容的新文件夹中创建一个config.json文件:

{
    "database": {
        "driver": {
            "type": "mysql",
            "host": "mysql",
            "port": 3306,
            "username": "root",
            "password": "my-secret-pw",
            "database": "commerce"
        },
        "logging": ["error", "warn"]
    },
    "basePath": "/",
    "session": {
        "secret": "fkj49l7WwjUtqcfLZKlLA269J28kC4uL",
        "issuer": "https://change.me",
        "lifetime": "12h"
    },
    "importTldListOnStart": true
}

在具有以下内容的同一文件夹中创建docker-compose.yml

version: '3'

services:
  # The reverse proxy service (Traefik)
  reverse-proxy:
    image: traefik  # The official Traefik docker image
    command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG
    ports:
      - "80:80"      # The HTTP port
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock  # So that Traefik can listen to the Docker events

  mysql:
    image: mysql:5.6
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw
      MYSQL_DATABASE: commerce

  commerce:
    image: weweave/commerce
    ports:
      - "3000:3000"
    depends_on:
      - "mysql"
    volumes:
      - ./config.json:/usr/src/app/config.json
    labels:
      - "traefik.frontend.rule=Host:commerce.docker.localhost;PathPrefix:/api/"
      - "traefik.port=3000"

  commerce-www:
    image: weweave/commerce-www
    ports:
      - "8080:8080"
    depends_on:
      - "commerce"
    labels:
      - "traefik.frontend.rule=Host:commerce.docker.localhost"

docker-compose up -d

然后打开浏览器并导航至:http://commerce.docker.localhost