gpt4 book ai didi

nginx - 如何将虚拟主机映射到Docker中的容器?

转载 作者:行者123 更新时间:2023-12-02 21:22:44 24 4
gpt4 key购买 nike

我正在尝试使用Docker设置LEMP本地开发环境。以下是我的docker-composer.yml:

version: '2'
services:
apache:
build:
context: ./docker/apache-php7
dockerfile: Dockerfile
image: foo/apache-php7
volumes:
- .:/var/www/html
ports:
- "80:80"
- "443:443"
networks:
- localnet
node:
build:
context: ./docker/node
dockerfile: Dockerfile
image: foo/node
volumes:
- .:/var/www/html
networks:
- localnet
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "root"
MYSQL_USER: "root"
MYSQL_PASSWORD: "root"
volumes:
- mysqldata:/var/lib/mysql
networks:
- localnet
redis:
image: redis:alpine
volumes:
- redisdata:/data
networks:
- localnet
networks:
localnet:
driver: "bridge"
volumes:
mysqldata:
driver: "local"
redisdata:
driver: "local"

我可以通过转到 http://localhost来访问该站点。我没有使用 http://localhost访问该项目,而是尝试将其映射到 http://foo.dev,但是对于我自己的一生,我只是不知道如何实现该目标?我看到的一个示例是 this,但它使用的是另一张图片,同时也使用了nginx。

最佳答案

我假设foo / apache-php7镜像是从基于Ubuntu 16.04的nimmis / apache-php7派生的,因此默认情况下,无论主机名如何,Apache都将以相同的方式响应HTTP请求。
因此,您唯一需要做的就是在指向服务器的foo.dev DNS区域中设置A / AAAA记录。

在任何情况下,似乎都需要注意该区域:

% host foo.dev
foo.dev has address 127.0.53.53
foo.dev mail is handled by 10 your-dns-needs-immediate-attention.dev.

地址记录指向本地主机地址,该地址只有在您实际上位于同一主机上时才起作用。您将需要一个全局路由的IP地址。

关于nginx - 如何将虚拟主机映射到Docker中的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com