以前我使用 Docker 工具包,可以docker-machine inspect <machine-name>
用来查找 docker 机器的 IP,以便查看容器内的容器提供的页面。
我已升级到 docker beta 客户端(适用于 mac),但找不到提供页面的位置。
我假设因为它是 docker pure 而不是 docker-machine 我会在本地主机上看到暴露的端口。但他们不开放。即使通过 kitematic 我导航到暴露的端口 (80) 但什么也没看到。
$ docker inspect tiny_cori | jq '.[].HostConfig.PortBindings'
{
"80/tcp": [
{
"HostIp": "",
"HostPort": "80"
}
]
}
$ docker inspect tiny_cori | jq '.[].NetworkSettings.IPAddress'
"172.17.0.2"
$ curl 172.17.0.2:80/status
^C
$ docker exec -t -i tiny_cori /bin/bash
root@f1c303f60a15:/# curl localhost:80/status
{"status":"OK"}
root@f1c303f60a15:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group …
Run Code Online (Sandbox Code Playgroud) 此命令将0xff
在 Linux 中填充文件。
dd if=/dev/zero ibs=1k count=100 | tr "\000" "\377" >paddedFile.bin
Run Code Online (Sandbox Code Playgroud)
当我在 OSX 中运行它时,结果是不同的。
$ dd if=/dev/zero ibs=1k count=100 | tr "\000" "\377" >paddedFile.bin
100+0 records in
200+0 records out
102400 bytes transferred in 0.000781 secs (131104008 bytes/sec)
$ hexdump -C paddedFile.bin
00000000 c3 bf c3 bf c3 bf c3 bf c3 bf c3 bf c3 bf c3 bf
|................|
*
00032000
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?