Docker暴露的端口无法访问

5
我运行了一个暴露端口 443 的 Docker 容器。 docker ps 确认它已经暴露了该端口。
~ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
42b17c2a4b75        tmp/tmp             "/usr/bin/tini -- /bi"   57 seconds ago      Up 55 seconds       443/tcp             adoring_austin

然而,netstat 并未显示该端口。我也无法从浏览器访问它。
~ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN

我用来运行容器的命令只是JupyterHub

[I 2016-11-22 03:12:11.494 JupyterHub app:643] Writing cookie_secret to /jupyterhub_cookie_secret
[W 2016-11-22 03:12:12.562 JupyterHub app:304]
Generating CONFIGPROXY_AUTH_TOKEN. Restarting the Hub will require restarting the proxy.
Set CONFIGPROXY_AUTH_TOKEN env or JupyterHub.proxy_auth_token config to avoid this message.
[W 2016-11-22 03:12:12.655 JupyterHub app:757] No admin users, admin interface will be unavailable.
[W 2016-11-22 03:12:12.655 JupyterHub app:758] Add any administrative users to `c.Authenticator.admin_users` in config.
[I 2016-11-22 03:12:12.655 JupyterHub app:785] Not using whitelist. Any authenticated user will be allowed.
[I 2016-11-22 03:12:12.671 JupyterHub app:1231] Hub API listening on http://172.17.0.3:8081/hub/
[I 2016-11-22 03:12:12.676 JupyterHub app:968] Starting proxy @ http://*:443/
03:12:12.861 - info: [ConfigProxy] Proxying https://*:443 to http://172.17.0.3:8081
03:12:12.864 - info: [ConfigProxy] Proxy API at http://127.0.0.1:444/api/routes
[I 2016-11-22 03:12:12.883 JupyterHub app:1254] JupyterHub is now running at http://127.0.0.1:443/

我在这里做错了什么?


1
您能否同时包括启动容器的命令? - Roman
我已将此信息添加到问题中。 - Fabian
1个回答

5
默认情况下,该Jupyterhub Docker镜像只开放8000端口。您可以在这里阅读详细信息。如需使用SSL(443端口),您需要执行一些额外步骤。
您可以在8000端口上检查它。
停止并删除容器。
docker stop jupyterhub
docker rm jupyterhub

使用映射端口启动jupyterhub:

docker run -d --name jupyterhub -p 443:443 -p 8000:8000 jupyterhub/jupyterhub jupyterhub

请访问http://YOUR_DOCKER_IP:8000/进行检查,端口443不可用。

docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED
STATUS              PORTS                                          NAMES
0a123216ee9f        jupyterhub/jupyterhub   "jupyterhub"        26 seconds ago
Up 3 seconds        0.0.0.0:443->443/tcp, 0.0.0.0:8000->8000/tcp   jupyterhub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接