我是Docker的新手,我似乎无法连接到任何容器.
我安装了Docker Toolbox.现在我正试图让Shipyard工作.我按照Docker Quickstart Terminal中的步骤进行操作.说明说:
部署后,脚本将输出URL以及凭据信息进行连接.
Shipyard安装程序以:
Shipyard available at http://10.0.2.15:8080
Username: [elided] Password: [elided]
Run Code Online (Sandbox Code Playgroud)
但是,我去了http://10.0.2.15:8080我的浏览器,它没有连接.
在另一个Docker Quickstart终端中,我做了一个docker ps查看容器是什么并获取其IP地址,我得到了:
$ docker inspect a4755 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.8",
"IPAddress": "172.17.0.8",
Run Code Online (Sandbox Code Playgroud)
我不确定为什么IP不同,但我试图连接到http://172.17.0.8:8080,这也不起作用.http://localhost:8080也失败了.
这也发生在我试图运行docker-gunicorn-nginx时 - 一切都已启动,但我无法连接到机器.
是什么赋予了?
Cla*_*diu 17
如果你通过Mac OS X上的 Docker 安装阅读,你会发现在OSX上,Docker容器不能在主机上运行:
在Linux上的Docker安装中,您的物理机器既是localhost又是Docker主机.在网络中,localhost表示您的计算机.Docker主机是容器运行的计算机.
在典型的Linux安装中,Docker客户端,Docker守护程序和任何容器都直接在您的localhost上运行.这意味着您可以使用标准的localhost寻址(如localhost:8000或0.0.0.0:8376)来寻址Docker容器上的端口.
[...]
在OS X安装中,docker守护程序在名为default的Linux VM中运行.默认情况下是一个轻量级Linux VM,专门用于在Mac OS X上运行Docker守护程序.虚拟机完全从RAM运行,下载量小〜24MB,启动时间约为5秒.
在OS X中,Docker主机地址是Linux VM的地址.使用docker-machine启动VM时,会为其分配一个IP地址.启动容器时,容器上的端口映射到VM上的端口.要在实践中看到这一点,请完成此页面上的练习.
确实,打开一个新的Docker Quickstart终端,我看到:
docker is configured to use the default machine with IP 192.168.99.100
Run Code Online (Sandbox Code Playgroud)
而且,开放http://192.168.99.100:8080带我到造船厂.成功!
小智 7
您可以尝试执行此命令:
docker-machine ip default
Run Code Online (Sandbox Code Playgroud)
它会返回一些东西:
192.168.99.100
Run Code Online (Sandbox Code Playgroud)
要获取端口号:
docker ps
Run Code Online (Sandbox Code Playgroud)
示例输出(向右滚动以查看端口映射):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
113346425f20 springio/spring1 "sh -c 'java $JAVA_OP" 34 minutes ago Up 34 minutes 0.0.0.0:8080->8080/tcp pensive_kirch
Run Code Online (Sandbox Code Playgroud)
要验证它是否正常工作:
curl 192.168.99.100:8080
| 归档时间: |
|
| 查看次数: |
9059 次 |
| 最近记录: |