首页 > 解决方案 > 这个 docker-compose.yml 文件启动 traefix、wordpress 和 mariadb 容器有什么问题?

问题描述

我正在尝试使用 mariadb 为 traefik、wordpress 配置和启动 docker 容器 下面的错误是 traefik 找不到 traefik.toml 文件。我提供了 yml 文件供您查看并提供建议的更改。

我一直在从网络上的各种来源编写这个 yml 文件。wordpress 容器和 maria db 容器启动良好。Traefik 是个问题。虽然我不完全确定 wordpress 的 8081:80。要在没有 traefik 的情况下自行运行 wordpress 是 80:80

版本:'3'

服务:
  反向代理:
    image: traefik:1.7.2-alpine # Traefik 官方 docker 镜像
    command: --api --docker # 启用 Web UI 并告诉 Traefik 监听 $
    端口:
      - "80:80" # HTTP 端口
      - "443:443" # HTTPS 端口
      - "8080:8080" # Web UI(由 --api 启用)
    卷:
      - /var/run/docker.sock:/var/run/docker.sock # 这样 Traefik 可以监听
      - /traefik/traefik.toml
      - /traefik/acme.json:/acme.json
    网络:
      - 网络
  WordPress:
    图片:wordpress
    链接:
     -mariadb:mysql
    环境:
     - WORDPRESS_DB_PASSWORD=Mari1234_
    端口:
     - “152.44.45.150:8081:80”
    卷:
     - ./html:/var/www/html
    网络:
      - 网络
  玛丽亚数据库:
    图片:玛丽亚数据库
    环境:
     - MYSQL_ROOT_PASSWORD=Mari1234_
     - MYSQL_DATABASE=wordpress
    卷:
     - ./database:/var/lib/mysql
    网络:
      - 网络
网络:
  内部的:
  网络:
    外部:真实

错误:对于反向代理无法为服务反向代理创建容器:lstat /var/lib/docker/overlay2/5c7a86d350dd0871cdb9cfc65bd329793edcc79c77a65386312c4aa6fc645022/merged/traefik/traefik.toml:不是目录错误:在启动项目时遇到错误。

标签: wordpressdockermariadbtraefik

解决方案


这个 docker-compose.yml 对我有用。我可以请你检查一下吗?

version: '3.4'

services:
  web_traefik:
    image: traefik
    ports:
      - "80:80"
      - "8888:8080"
    command:
      - --docker
      - --docker.swarmMode
      - --docker.domain=docker.localhost
      - --docker.watch
      - --api
    deploy:
      placement:
        constraints:
          - node.role == manager
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - frontend-network

  wordpress:
    image: wordpress
    environment:
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
    deploy:
      replicas: 2
      labels:
        - traefik.port=80
        - traefik.docker.network=blog_frontend-network
        - traefik.backend.loadbalancer.sticky=true
        - traefik.backend.loadbalancer.stickiness=true
        - "traefik.frontend.rule=PathPrefix:/"
    networks:
      - frontend-network
      - backend-network

  mysql-seed:
    image: colinmollenhour/mariadb-galera-swarm
    deploy:
      endpoint_mode: dnsrr
    environment:
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
      - XTRABACKUP_PASSWORD=wordpressbackup
    command:
      - seed
    networks:
      - backend-network

  mysql:
    image: colinmollenhour/mariadb-galera-swarm
    deploy:
      endpoint_mode: dnsrr
      replicas: 2
    environment:
      - XTRABACKUP_PASSWORD=wordpressbackup
    command:
      - node
      - tasks.mysql-seed,tasks.mysql
    networks:
      - backend-network


networks: 
  frontend-network: {}
  backend-network: {}

推荐阅读