Łuk*_*icz 6 docker-compose devops traefik
特拉菲克的朋友们大家好。
我刚刚开始研究 traefik。所有教程都展示了如何使用 traefik 与其他容器一起运行一个 docker-compose.yml 文件。我经常有许多单独的 docker-compose.yml 文件,并且非常想将它们与 traefik 一起使用。
这是我的 traefik 容器代码:
version: "3.3"
services:
traefik:
image: "traefik:v2.5"
container_name: "traefik"
command:
#- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
#- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myresolver.acme.email=xxxxxxxxx@gmail.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "443:443"
- "8080:8080"
networks:
- "traefik"
- "external"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
Run Code Online (Sandbox Code Playgroud)
以及我想与 traefik 一起使用的另一个示例 docker-compose:
version: '3.1'
services:
php:
image: php:7.4-apache
ports:
- 8081:80
volumes:
- ./php/www:/var/www/html/
labels:
- "traefik.enable=true"
- "traefik.http.routers.php.rule=host(`php.xxxxxx.com`)"
- "traefik.http.routers.php.entrypoints=websecure"
- "traefik.http.routers.php.tls.certresolver=myresolver"
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用(当我将这些文件连接到一个大的 docker-compose.yml 文件中时 - 它工作正常。你能给我指出正确的方向吗?
Traefik 需要成为其连接的所有服务的网络的一部分。network: host
对我来说,当我设置Traefik时它就有效。(然后你必须删除端口部分。)
我确实想知道这有多安全,我似乎无法从另一台机器访问管理界面,所以这很好。
归档时间: |
|
查看次数: |
2410 次 |
最近记录: |