我Docker
正常运行,但我想更改服务器名称的名称,现在它以这种方式http://localhost:8080
工作,但我想使用另一个网址同一个主人,它可能吗?
我已经在容器内部配置了虚拟主机,并在127.0.0.1
容器内的所有内容中添加/etc/hosts
test.local。
现在,从我的容器内部,URL(test.local)响应很好,但是当我从外面尝试时只能工作localhost:8080
。
任何帮助
答案 0 :(得分:0)
要问的主要问题是:
使用虚拟主机进行本地Docker开发
请阅读--network=host
或Docker-Compose network_mode: "host"
。
请检查:
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/和
答案 1 :(得分:0)
我认为您需要一个按名称侦听的docker容器,而不是使用具有不同端口的localhost。
在/ etc / hosts中为所需的服务器名称添加dns条目
$ nano / etc / hosts
127.0.0.1 test.local
编辑composer.yml
版本:“ 2”
services:
web:
build: ./docker/
ports:
- "80:80"
volumes:
- .:/var/www/app
tty: true
extra_hosts:
- "test.local:127.0.0.1"
hostname: test
domainname: local
在DockerFile中添加服务器名称:
运行printf“ 127.0.0.1 api.local” >> / etc / hosts
在DockerFile中配置虚拟主机
构建容器:
$ docker-compose up -d
检查主机名是否已应用于容器:
$ docker exec -it test_local_web_1主机名
它应该返回:
$ test.local
$ curl -get http://test.local