Mac无法访问容器的网络
来源:6-4 水平扩展和负载均衡
Haleeeea
2019-06-03
写回答
3回答
-
func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe("0.0.0.0:80", nil)) } func handler(w http.ResponseWriter, r *http.Request) { redisHost := os.Getenv("REDIS_HOST") if redisHost == "" { redisHost = "redis" }
您的代码有问题,首先监听127.0.0.1意思是只有本地才能访问,如何让外面访问呢,改成0.0.0.0即可
第二,您的redisHost写127.0.0.1 怎么能可以? redis是另外一个container起得,根本不在本地127.0.0.1怎能访问的到呢。 改成redis即可,这也是docker-compose里redis服务的名字,用名字访问即可,这个我们在课程里有讲过。
012019-06-06 -
Haleeeea
提问者
2019-06-04
按照例子,创建了一个Nginx的容器,可以正常访问。
但是我自己的依旧不可以(添加了端口映射)
docker run -d --link=redis --publish=8888:80 --name=golang-redis -e REDIS_HOST=redis holydocker417/golang-redis
042019-06-05 -
麦兜搞IT
2019-06-04
您好,这是Mac的限制,不是您的问题,您可以参考下这个https://docs.docker.com/docker-for-mac/networking/ mac下的docker在网络方面有一些限制。
012019-06-04
相似问题