ich Docker Toolbox bin mit nicht hosten, Setup:Docker Maschine (virtualbox vm) Exportcontainerhafen Maschine
- virtualbox Standard vm in Windows 10
- Behälter in VirtualBox vm laufen
Das Problem ist, dass ich nicht auf den Web-Service im Container zugreifen kann.
hier einige Befehle, den ich verwenden:
# start up the web service
docker run -p 8000:8000 -p 9000:9000 -t -i xxx/myweb /bin/bash -l -c '/root/myweb/demos/web/start-servers.sh'
# terminal print after above cmd
Starting the HTTP TLS server on port 8000
and the Secure WebSocket server on port 9000.
Access the demo through the HTTP server in your browser.
If you're running on the same computer outside of Docker, use https://localhost:8000
If you're running on the same computer with Docker, find the IP
address of the Docker container and use https://<docker-ip>:8000.
If you're running on a remote computer, find the IP address
and use https://<remote-ip>:8000.
WARNING: Chromium will warn on self-signed certificates. Please accept the certificate
and reload the app.
WebSocket Server: Logging to '/tmp/openface.websocket.log'
2017-05-27 15:10:13+0000 [-] Log opened.
2017-05-27 15:10:13+0000 [-] WebSocketServerFactory (TLS) starting on 9000
2017-05-27 15:10:13+0000 [-] Starting factory <autobahn.twisted.websocket.WebSocketServerFactory object at 0x7f00ef9f5c90>
Jetzt mit der folgenden Adresse zuzugreifen ich versuchte, aber alle scheiterten die Web-Seite zu laden:
- localhost: 8000
- 192.168 .99.100: 8000 (die IP-Adresse der Virtualbox-VM)
- 172.17.0.2:8000 (die IP-Adresse des Containers)
Hier sind einige Befehle, den ich verwenden, und ihre Ergebnisse:
$ docker-machine config
--tlsverify
--tlscacert="C:\\Users\\AIT\\.docker\\machine\\machines\\default\\ca.pem"
--tlscert="C:\\Users\\AIT\\.docker\\machine\\machines\\default\\cert.pem"
--tlskey="C:\\Users\\AIT\\.docker\\machine\\machines\\default\\key.pem"
-H=tcp://192.168.99.100:2376
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5896815b991d xxx/myweb "/bin/bash -l -c /..." 12 minutes ago Up 12 minutes 192.168.99.100:8000->8000/tcp, 192.168.99.100:9000->9000/tcp thirsty_wiles
$ docker inspect thirsty_wiles
[
{
"Id": "5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050",
"Created": "2017-05-27T15:10:12.172475859Z",
"Path": "/bin/bash",
"Args": [
"-l",
"-c",
"/root/myweb/demos/web/start-servers.sh"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false, "Pid": 2753,
"ExitCode": 0,
"Error": "",
"StartedAt": "2017-05-27T15:10:12.294120929Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:3c9f00308ef150eef9d50576245df69234437a4360684f9b262a284f50dc15d7",
"ResolvConfPath": "/mnt/sda1/var/lib/docker/containers/5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050/resolv.conf",
"HostnamePath": "/mnt/sda1/var/lib/docker/containers/5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050/hostname",
"HostsPath": "/mnt/sda1/var/lib/docker/containers/5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050/hosts",
"LogPath": "/mnt/sda1/var/lib/docker/containers/5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050/5896815b991d394753b5eabdd4fe7967e2e4bd65791ffe7fa1d3e82486c9f050-json.log",
"Name": "/thirsty_wiles",
"RestartCount": 0,
"Driver": "aufs",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {
"8000/tcp": [
{
"HostIp": "192.168.99.100",
"HostPort": "8000"
}
],
"9000/tcp": [
{
"HostIp": "192.168.99.100",
"HostPort": "9000"
}
]
},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
30,
120
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": -1,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Data": null,
"Name": "aufs"
},
"Mounts": [],
"Config": {
"Hostname": "5896815b991d",
"Domainname": "",
"User": "",
"AttachStdin": true,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"8000/tcp": {},
"9000/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": true,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/bash",
"-l",
"-c",
"/root/myweb/demos/web/start-servers.sh"
],
"Image": "xxx/myweb",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "97f5c2894d9a6977723e3a54db77f7ff81150d8447722147a0d561a193d4caeb",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"8000/tcp": [
{
"HostIp": "192.168.99.100",
"HostPort": "8000"
}
],
"9000/tcp": [
{
"HostIp": "192.168.99.100",
"HostPort": "9000"
}
]
},
"SandboxKey": "/var/run/docker/netns/97f5c2894d9a",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "2f62e7e113d8ec9f0c6760f618f53f43821c469b3c461b7447011737ee768c65",
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "188e40f0cb38ff9be5f053cffdf5e97c22bfed8f7ee93c685178d0c9748a032c",
"EndpointID": "2f62e7e113d8ec9f0c6760f618f53f43821c469b3c461b7447011737ee768c65",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02"
}
}
}
}
]
Docker Toolbox auch eine Standardkonfiguration für "default" vm-Netzwerk Einstellung hat:
1: NAT
2: Host- Nur Adapter (Virtualbox Host-Only Ethernet Adapter # 2).
Ich bin neu in Docker Toolbox, Was soll ich tun, um auf die Webseite im Container zuzugreifen? Könnten Sie mir bitte helfen, mein Problem zu diagnostizieren?
Welche Fehler bekommen Sie? Überprüfen Sie, ob eine Firewall den Port blockiert. Versuchen Sie auch, über die IP der VM auf irgendetwas zuzugreifen. Etwas, das außerhalb eines Containers ausgeführt wird, z. B. Python SimpleHTTPServer. – vempo
@vempo, wenn ich IP: Port für den Zugriff auf die Webseite verwenden, fand ich keine Antwort. und auch keine Verbindung wird im Container-Befehlsendgerät ausgedruckt. Wie sollte ich die Firewall überprüfen? (whos Firewall). Mit VM's IP meinst du 192.168.99.100 oben? Ich verwende SimpleHTTPServer hier. Können Sie mir bitte helfen, das Problem zu diagnostizieren? – user2262504
Wenn Sie also SimpleHTTPServer in der VM außerhalb eines Containers ausführen, können Sie dann vom Hostcomputer darauf zugreifen? Zum Beispiel http://192.168.99.100:8080 (der Port, den Sie konfiguriert haben). Sie müssen zuerst herausfinden, wo das Problem liegt - Host/VM oder VM/Container. – vempo