码迷,mamicode.com
首页 > 其他好文 > 详细

docker swarm模式使用traefik部署服务

时间:2018-01-30 12:22:36      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:compose   ice   watch   反向   参数   main   sts   ges   yam   

  • 初始化一个swarm集群, 并把当前主机设置为swarm manage

  • docker swarm init

    2.如果想让其它机器加入该集群,可以执行以下命令(本例未使用)

    docker swarm join-token worker    可以输出加入该集群并作为worker角色的命令,如下:
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-4vr9acar13e6cbvogs3ptir8fz55jubdkjzyi4u2vljy2i38t8-b94ezwkgbbmt12opnqdmaqrcg 192.168.2.63:2377

    3.创建一个docker swarm network, traefik反向代理和我们web服务都要用这个network

    docker network create --driver=overlay test-traefik --attachable

    4.创建trafik反向代理service

    在swarm的manager机器上执行以下命令(具体参数设置可参考:https://docs.traefik.io/user-guide/swarm-mode/)

    docker service create    --name traefik     --constraint=node.role==manager     --publish 80:80 --publish 8080:8080     
    --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock     
    --network test-traefik     traefik     
    --docker     
    --docker.swarmmode     
    --docker.domain=traefik     
    --docker.watch     
    --web

    启动后,可以通过http://{manager-ip}:8080/来访问trafik的web监控界面,可以动态看到反向代理的配置


    5.编辑compose-file

    vim nginx.yaml
    version: '3'
    services:
      web:
        image: nginx
        networks:
        - "test-traefik"
        deploy:
          labels:
          - "traefik.frontend.rule=Host:www.test.com"
          - "traefik.port=80"
    networks:
      test-traefik:
        external: true

    6.然后部署compose-file

    docker stack deploy --compose-file nginx.yaml web

    7.在本地hosts文件添加一行

    192.168.2.63 www.test.com

    8.访问192.168.2.63:8080与www.test.com。 截图如下

    技术分享图片


    技术分享图片

    docker swarm模式使用traefik部署服务

    标签:compose   ice   watch   反向   参数   main   sts   ges   yam   

    原文地址:http://blog.51cto.com/6764097/2066670

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!