Порт, открытый Docker, недоступен

Я запустил докер-контейнер, который предоставляет порт 443. 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/

Что я здесь делаю не так?


person Fabian    schedule 22.11.2016    source источник
comment
Не могли бы вы также включить команду, которую вы выполнили для запуска контейнера?   -  person R0MANARMY    schedule 22.11.2016
comment
Я добавил эту информацию к вопросу.   -  person Fabian    schedule 22.11.2016


Ответы (1)


По умолчанию этот образ 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
person Tuan    schedule 22.11.2016