traefik 结合 docker-compose 的快速安装及使用
时间: 2023-11-20 08:18:40 浏览: 136
您好!感谢您的提问。以下是 Traefik 结合 docker-compose 的快速安装及使用步骤:
1. 首先,您需要安装 Docker 和 docker-compose 工具。您可以参考 Docker 官方文档进行安装。
2. 创建一个 docker-compose.yml 文件,并添加以下内容:
```
version: '3'
services:
reverse-proxy:
image: "traefik:v2.0"
container_name: "traefik"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./certs:/certs"
```
这个 docker-compose 文件中包含了 Traefik 服务的配置,它会监听端口 80 和 443,并将请求转发到相应的 Docker 容器中。
3. 创建一个 traefik.yml 文件,包含 Traefik 的配置信息。以下是一个简单的 traefik.yml 文件示例:
```
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
```
这个 traefik.yml 文件中指定了 Traefik 使用 Docker 作为服务提供者,并监听 Docker 的 Unix Socket。
4. 在 certs 目录下创建一个 TLS 证书,用于 HTTPS 请求。您可以使用 OpenSSL 工具生成自签名证书,例如:
```
mkdir certs
openssl req -x509 -nodes -newkey rsa:2048 -keyout certs/key.pem -out certs/cert.pem -days 365
```
这个命令会在 certs 目录下生成一个 key.pem 和 cert.pem 文件,用于 HTTPS 请求的 TLS 加密。
5. 运行 docker-compose 命令启动 Traefik 服务:
```
docker-compose up -d
```
现在,Traefik 服务已经启动,并监听端口 80 和 443。您可以通过访问 Traefik 的 IP 地址来测试服务是否正常工作。
6. 配置其他服务加入到 Traefik 的代理中,例如您的 Web 应用程序。在您的应用程序的 Docker Compose 文件中添加以下标签:
```
labels:
- "traefik.enable=true"
- "traefik.http.routers.my-app.rule=Host(`my-app.example.com`)"
- "traefik.http.routers.my-app.entrypoints=websecure"
- "traefik.http.routers.my-app.tls=true"
- "traefik.http.routers.my-app.tls.certresolver=letsencryptresolver"
```
这个标签中指定了您的应用程序需要加入 Traefik 的代理中,并指定了域名、TLS 加密等信息。
7. 重新启动您的应用程序 Docker 容器,Traefik 会自动将请求转发到相应的应用程序中。
至此,您已经完成了 Traefik 结合 docker-compose 的快速安装及使用。希望这些信息能对您有所帮助!
阅读全文