对于任何了解 Linux 上 docker 的人:
我只是尝试 docker-compose 一个简单的 docker 映像,却收到这个奇怪的错误,告诉我没有docker-compose.yml file- 但该文件实际上存在。请参阅此 asciinema 演示:
特拉菲克的朋友们大家好。
我刚刚开始研究 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"
- …Run Code Online (Sandbox Code Playgroud)