在单机Docker上安装 Traefik 反向代理-负载均衡器
一、创建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 反向代理-负载均衡器的更多相关文章
- 初试 Kubernetes 集群中使用 Traefik 反向代理
初试 Kubernetes 集群中使用 Traefik 反向代理 2017年11月17日 09:47:20 哎_小羊_168 阅读数:12308 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...
- docker,构建nginx反向代理tomcat
Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1; error_log /var/log ...
- Docker上安装Redis
Docker可以很方便的进行服务部署和管理,下面我们通过docker来搭建Redis的单机模式.Redis主从复制.Redis哨兵模式.Redis-Cluster模式 一.在Docker上安装单机版R ...
- Nginx的安装及反向代理设置
因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5. ...
- CI与CD之Docker上安装Jenkins
一.CI,CD,Jenkins的介绍 CI:持续集成(Continuous integration,简称 CI),在传统的软件开发环境中,有集成,但是没有持续集成这种说法,长时间的分支与主干脱离,导致 ...
- (1)RabbitMQ在Docker上安装
1.简介 在来学习RabbitMQ时候,我觉得很有必要先把它的环境先搭建起来,这样后面的示例才能进行.因为之前自己手动在Linux服务器上搭建过Elasticsearch,当时踩过太多坑了,浪费太多时 ...
- 阿里云上docker部署nginx实现反向代理
简介 需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/) 1.docker pull nginx 1.挂载目录 1.1 获取nginx. ...
- Nginx 安装以及反向代理配置(windows)
安装 windows 下 Nginx 安装非常简单,下载地址 http://nginx.org/en/download.html. 选择红框这个,下载下来是个 zip 文件,解压.这时我们双击根目录的 ...
随机推荐
- 使用AD画PCB的技能总结(纯属个人笔记,请大神多多指导)
在参加2017全国电子设计大赛的过程中,我将平时学到的点点滴滴记录下来,作为曾经的回忆吧!(未完待续) ------------------------------------------------ ...
- git merge后如何撤销
merge后发现冲突太多,或者合并的分支代码并不是最新,那就直接撤销再合并好了. git reset --hard HEAD 用来撤销还没commit 的merge,其实原理就是放弃index和工作区 ...
- mysql 处理utf8mb4的问题
jdbc端的characterEncoding=utf8 无法改为utf8mb4 测试: create table utf8mb4_test (name1 varCHAR(20) CHARACTER ...
- Matlab文件和数据的导入与导出
ref: https://blog.csdn.net/zengzeyu/article/details/72530596 Matlab文件和数据的导入与导出 2017年05月19日 15:18:35 ...
- Setting NLS_LANG Value for Oracle
Introduction Many times, when you have an Oracle application and you have to support special charact ...
- BIOS 中断向量表
中断 描述 INT 00h CPU:除零错,或商不合法时触发 INT 01h CPU:单步陷阱,TF标记为打开状态时,每条指令执行后触发 INT 02h CPU:非可屏蔽中断,如引导自我测试时发生内存 ...
- C# 弹出确定、取消窗口
if (MessageBox.Show("确定要退出吗?", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Qu ...
- php中 "$$" 的详解
php中 $$str 这种写法称为可变变量 有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例如: <?php $a = " ...
- AndroidStudio 快捷键(最实用的20个)(转)
有时候用的编辑器多了,快捷键容易记混淆,所以我门只用记最实用的快捷键就行了,其他效率不高的到要用的时候再查也不迟 下面是我使用AndroidStudio以来最常用的也是我认为最有用的20个快捷键 给大 ...
- Tensorflow object detection API 搭建属于自己的物体识别模型
一.下载Tensorflow object detection API工程源码 网址:https://github.com/tensorflow/models,可通过Git下载,打开Git Bash, ...