我想使用php:5.6-apache镜像创建一个容器,并通过在我的url sample.test.local中写入来访问它 我知道如何通过更新/ ect / hosts文件来做到这一点,但我想知道是否有可能在不修改文件的情况下做到这一点。所以我发现Traefik有很多教程可以做,但是对我来说不起作用...
这是我的docker-compose.yml:
version: '2'
services:
php:
image: php:5.6-apache
ports:
- 80
labels:
- "traefik.frontend.entryPoints=http"
- "traefik.port=80"
- "traefik.frontend.rule=Host:sample.test.local"
- "traefik.frontend.passHostHeader=true"
traefik:
image: traefik # The official Traefik docker image
command: --api --docker # Enables the web UI and tells Træfik to listen to docker
ports:
- "80:80" # The HTTP port
- "8080:8080" # The Web UI (enabled by --api)
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.frontend.rule=Host:test.local"
这是curl -H Host:sample.test.local http://127.0.0.1
的结果。<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at sample.test.local Port 80</address>
</body></html>
我可以得出结论,它运作良好,但是当我尝试访问sample.test.local时,它无法到达主机。
我试图将此行添加到我的/ etc / host文件中: 127.0.0.1 test.local
我试图遵循这些教程:
能帮我吗?