一、创建Traefik和容器应用的连接网络

sudo docker network create traefik-net

二、下载Traefik样本配置文件
wget https://raw.githubusercontent.com/containous/traefik/master/traefik.sample.toml

三、编辑Traefik配置文件
sudo cp ./traefik.sample.toml ./traefik.toml
sudo vi ./traefik.toml

编辑traefik.toml文件内容:

debug = false
logLevel = "ERROR"
defaultEntryPoints = ["http"]

[entryPoints]
[entryPoints.http]
address = ":80"

[retry]

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "docker.localhost"
watch = true
exposedByDefault = false
usebindportip = true
swarmMode = false
network = "traefik-net"

四、在主机上运行Traefik反向代理容器

Docker运行 Traefik 命令:

docker run -d \
--name traefik \
-p 8080:8080 \
-p 80:80 \
-v $PWD/traefik.toml:/etc/traefik/traefik.toml \
-v /var/run/docker.sock:/var/run/docker.sock \
traefik

五、运行Docker容器应用
运行 Docker 容器应用web1:
docker run -d \
--name nginx \
--label "traefik.backend=nginx" \
--label "traefik.protocol=http" \
--label "traefik.port=80" \
--label "traefik.docker.network=traefik-net" \
--label "traefik.domain=abc.com" \
--label "traefik.frontend.rule=Host:web1.abc.com" \
--label "traefik.enable=true" \
nginx

运行 Docker 容器应用web2:
docker run -d \
--name httpd \
--label "traefik.backend=httpd" \
--label "traefik.protocol=http" \
--label "traefik.port=80" \
--label "traefik.docker.network=traefik-net" \
--label "traefik.domain=abc.com" \
--label "traefik.frontend.rule=Host:web2.abc.com" \
--label "traefik.enable=true" \
httpd

六、配置客户端 hosts 主机文件,通过浏览器访问容器应用
修改 Win7 客户端电脑上 C:\Windows\System32\drivers\etc\hosts文件:
192.168.3.168 web1.abc.com
192.168.3.168 web2.abc.com

通过客户端电脑上的浏览器访问容器应用
http://web1.abc.com
http://web2.abc.com

七、查看Traefik管理后台
http://192.168.3.168:8080

注意事项:运行容器应用时,--label 中,等号左右不能有空格!

附图:
00-traefik.toml配置文件

01-运行 Traefik容器

02-运行 web1 和 web2 容器应用

03-运行中的容器

04-Traefik 管理后台

05-Traefik 管理后台2

06-通过web1.abc.com访问网站

07-通过web2.abc.com访问网站

参考链接:

https://docs.traefik.io/configuration/backends/docker/#docker

在单机Docker上安装 Traefik 反向代理-负载均衡器的更多相关文章

  1. 初试 Kubernetes 集群中使用 Traefik 反向代理

    初试 Kubernetes 集群中使用 Traefik 反向代理 2017年11月17日 09:47:20 哎_小羊_168 阅读数:12308    版权声明:本文为博主原创文章,未经博主允许不得转 ...

  2. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践

    欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...

  3. docker,构建nginx反向代理tomcat

    Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1; error_log /var/log ...

  4. Docker上安装Redis

    Docker可以很方便的进行服务部署和管理,下面我们通过docker来搭建Redis的单机模式.Redis主从复制.Redis哨兵模式.Redis-Cluster模式 一.在Docker上安装单机版R ...

  5. Nginx的安装及反向代理设置

    因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5. ...

  6. CI与CD之Docker上安装Jenkins

    一.CI,CD,Jenkins的介绍 CI:持续集成(Continuous integration,简称 CI),在传统的软件开发环境中,有集成,但是没有持续集成这种说法,长时间的分支与主干脱离,导致 ...

  7. (1)RabbitMQ在Docker上安装

    1.简介 在来学习RabbitMQ时候,我觉得很有必要先把它的环境先搭建起来,这样后面的示例才能进行.因为之前自己手动在Linux服务器上搭建过Elasticsearch,当时踩过太多坑了,浪费太多时 ...

  8. 阿里云上docker部署nginx实现反向代理

    简介   需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/) 1.docker pull nginx 1.挂载目录 1.1 获取nginx. ...

  9. Nginx 安装以及反向代理配置(windows)

    安装 windows 下 Nginx 安装非常简单,下载地址 http://nginx.org/en/download.html. 选择红框这个,下载下来是个 zip 文件,解压.这时我们双击根目录的 ...

随机推荐

  1. 【Nginx】-NO.141.Nginx.1 -【Nginx】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  2. centOS 7 设置DNS方法 同之前版本不同

    在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...

  3. vue中使用vue-quill-editor及上传图片到自己服务器

    第一步,下载依赖 cnpm install vue-quill-editor --save 第二步,再main.js里引入组件(我这里是全局注册) // 富文本编辑器 import VueQuillE ...

  4. 将 notepad++ 添加到鼠标右键菜单 带图标

    1.打开注册表编辑器,HKEY_CLASSES_ROOT\*\shell目录点击右键.新建-->项,这里命名的项则就是鼠标右键列表里面显示的内容,这里起名为[Edit With Notepad+ ...

  5. SQL- @@ROWCOUNT -返回上一行执行影响的行行数

    DECLARE @AFFECT INT declare @t table(name nvarchar(20),qy nvarchar(20),je int)insert into @t select ...

  6. vi / vim 命令集合

    vim的命令太多了,不常用就会忘记,所以我决定把vim的各种命令整理下来,包括vim的插入删除.光标移动.多窗口编辑.复制粘贴.查找替换.以及一些常用命令 删除操作 dd 删除当前行 ndd      ...

  7. 关于babel官网的学习

    提起babel,前端er大概都不陌生.但是为什么要有babel呢?解决了什么问题?怎么使用babel呢?注意点在哪?以下就从这几个方面总结一下我关于babel学习的结果吧. 为什么要有babel呢? ...

  8. Java获取项目根目录等其他系统属性

    一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProper ...

  9. racle SQL性能优化

    (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先 ...

  10. Machine Learning 第三周

    ML week3 逻辑回归 Logistic Function h_\theta(x)=g(\theta^Tx) g(t)=\frac{1}{1+e^{-z}} 当t大于0, 即下面公式成立时,y=1 ...