Запуск контейнера для Data Science на облачном сервере

Репозиторий Ubuntu может содержать устаревшую версию Docker, поэтому в этой инструкции описана установка актуальной версии из официального репозитория Docker:

  1. Создайте облачный сервер по инструкции.

  2. Обновите текущий список пакетов.

    sudo apt update
  3. Установите инструменты, которые позволят apt использовать HTTPS.

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
  4. Добавьте GPG-ключ для официального репозитория Docker.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  5. Добавьте репозиторий Docker к ресурсам APT.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
  6. Обновите базу пакетами Docker из добавленного репозитория.

    sudo apt update
  7. Убедитесь, что устанавливаете пакет из репозитория Docker, а не стандартного репозитория Ubuntu.

    apt-cache policy docker-ce
  8. Вы должны получить примерно такой ответ, версия Docker может отличаться:

    docker-ce:
    Installed: (none)
    Candidate: 18.03.1~ce~3-0~ubuntu
    Version table:
     18.03.1~ce~3-0~ubuntu 500
        500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
  9. Установите Docker.

    sudo apt install docker-ce
  10. Проверьте, что Docker работает.

    sudo systemctl status docker

    Ответ должен быть примерно таким, показывая, что сервис активен и запущен:

    Output
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago
     Docs: https://docs.docker.com
    Main PID: 10096 (dockerd)
    Tasks: 16
    CGroup: /system.slice/docker.service
           ├─10096 /usr/bin/dockerd -H fd://
           └─10113 docker-containerd --config /var/run/docker/containerd/containerd.toml
               
  11. Загрузите контейнер из репозитория.

    docker pull selectel/selectel-ml
  12. Запустите контейнер.

    docker run -d -p 8888:8888 selectel/selectel-ml
  13. Запустите Jupyter Notebook — в адресной строке браузера введите внешний IP-адрес сервера и номер порта, введённый на предыдущем шаге. Например: 203.0.113.1:8888. В открывшемся веб-интерфейсе Jupyter Notebook введите пароль по умолчанию: 9lG0eXCevt.

О способах смены пароля можно прочитать в документации Jupyter Notebook.