我正在创建一个我想在http://api
本地访问的Nginx容器。使用Docker Machine,我假设运行docker-machine create default
和docker-machine ip default
来接收IP并将我的hosts文件编辑为:
# docker-machine ip default --> 192.168.99.100
192.168.99.100 api
应将请求映射到api\
到Docker Machine IP并提供我的内容。
有两件事令我困惑:
http://localhost
创建Nginx容器并访问内容。但是,运行docker-machine ls
不会返回任何计算机。这令人困惑,因为我认为Docker必须在VM上运行。http://localhost
但不是http://api
我没有在http://localhost
访问我的容器,而是想在http://api
访问它。我该怎么做?
我使用Docker for Mac 17.12和Docker Machine 0.14。
答案 0 :(得分:1)
根据你的这个问题:
而不是访问http://localhost我想要访问的容器 它在http://api。我该怎么做?
您的泊坞窗运行命令:
docker run -it --rm --name test --add-host api:192.168.43.8 -p 80:80 apachehttpd
第一件事 - -add-host
标志为您的容器/etc/hosts
中的/ etc / hosts添加值,因此如果ping,http://api也会在容器内响应在那个容器里面。
这是如何在容器内ping响应
第二件事:修改您的主机etc/hosts
文件并添加
api 192.168.43.8 [your ip]