摘要:及系統已經安裝好的同學可以忽略這一節。源默認按裝的版本不是最新版本的,需要通過添加源的方式來安裝最新版本的。然后用將這個安裝好的容器做成鏡像。擴展如果要大數據分析,還需要安裝很多大數據相關的包。
jupyter-notebook是我很喜歡的工具,搭環境稍顯麻煩,其實jupyter web形式的使用方式,最好的部署方式是在云上,一次部署到哪里都可以使用,豈不快哉。現在各家云服務器還挺貴的,docker出來后,我就琢磨把jupyter-notebook放到容器中。
Docker及系統已經安裝好的同學可以忽略這一節。我喜歡用ubuntu,所以host 系統是ubuntu,docker容器中的系統也是ubuntu。ubuntu apt-get源默認按裝的docker版本不是最新版本的,需要通過添加源的方式來安裝最新版本的docker。參考鏈接
#添加ubuntu apt 的https訪問能力 $ sudo apt-get install apt-transport-https #將Docker官方資料庫的訪問Key添加到你本地系統 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 #將docker 資料庫地址添加到apt源列表 $ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" #安裝 $ sudo apt-get update $ sudo apt-get install lxc-docker
Docker安裝好以后就要拉一個ubuntu版本鏡像,我拉的是ubuntu:14.04
docker pull ubuntu:14.04啟動容器
容器是存放jupyter-notebook的地方,我們要做的是基于精簡版的ubuntu鏡像啟動一個容器,然后在里面安裝sshd這種遠程登錄的工具。
先讓容器以交互式虛擬終端的方式啟動,如果需要使用和host不同的DNS server配置,可以使用--dns參數指定DNS server,否則新啟動的docker 容器會復制host的/etc/resolv.conf。
docker run -i -t ubuntu:14.04 /bin/bash
安裝sshd的過程比較簡單,我通常安裝openssh-server
sudo apt-get install openssh-server
然后編輯它的配置文件 /etc/ssh/sshd_config,注釋掉配置文件中的"PermitRootLogin without-password",再增加一句"PermitRootLogin yes"使得root用戶可以遠程登錄。然后用將這個安裝好sshd的容器做成鏡像。
之后基于新鏡像啟動容器,用端口映射的方式,映射ssh端口到host,之后通過ssh指定端口的方式登錄到docker 容器。jupyter-notebook的默認端口號是8888,也可以提前考慮,在這里多映射幾個外部端口。
docker run -d -p 30001:22 --name jupyter-notebook ubuntu:14.04-sshd /usr/sbin/sshd -D安裝jupyter
這個過程基本和在ubuntu系統上安裝jupyter的過程是一樣的,但容器中的ubuntu是個最簡環境,沒有安裝python-dev包。
#更新apt-get環境 apt-get update #安裝python dev包 apt-get install python-dev #安裝jupyter pip install jupyter
安裝過程需要注意的是,由于墻的原因,ubuntu的源和pip的源都換成國內的源,我ubuntu用的是網易的源,pip用的是清華的源。
使用jupyterjupyter 默認只能通過本地地址訪問,要放開配置,允許jupyter遠程訪問。在放開遠程訪問時,需要設置密碼,jupyter的配置文件只支持加密后的密文密碼(贊一個)
#生成jupyter配置文件,這個會生成配置文件.jupyter/jupyter_notebook_config.py jupyter notebook --generate-config #使用ipython生成密碼 In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: "sha1:38a5ecdf288b:c82dace8d3c7a212ec0bd49bbb99c9af3bae076e" #去配置文件.jupyter/jupyter_notebook_config.py中修改以下參數 c.NotebookApp.ip="*" #綁定所有地址 c.NotebookApp.password = u"剛才生成的密碼" c.NotebookApp.open_browser = False #啟動后是否在瀏覽器中自動打開 c.NotebookApp.port =8888 #指定一個訪問端口,默認8888,注意和映射的docker端口對應
配置完成以后,就可以用 jupyter notebook命令把jupyter啟動起來了,然后你就可以看到一個超級簡潔的jupyter登錄界面了。輸入密碼就可以開始使用jupyter了。
擴展如果要大數據分析,還需要安裝很多大數據相關的包。
我用jupyter最多的還是使用pandas/scikit-learn,所以我會繼續安裝這兩個包,大家可以根據自己需要繼續安裝自己想要的python包。
#安裝numpy,安裝過程中會有c文件的編譯,可能會報些錯,但不影響最終結果 pip install numpy #安裝scipy,安裝過程中會有c文件的編譯,可能會報些錯,但不影響最終結果 pip install scipy #安裝matplotlib pip install matplotlib #安裝pandas pip install pandas pip install scikit-learn
總體來說pip的包管理還是比較好的,除了numpy、scipy編譯時報的一堆錯誤,整體安裝過程比較順暢。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26751.html
摘要:采用微服務架構設計的原因很簡單解放生產力。運行時服務缺少標準,各類實現區別很大,調試困難程度不一,集成測試更是難上加難。小伙伴們更進一步的互相提供幫助集成測試及單元測試,極大的釋放了團隊生產力。 showImg(https://dn-coding-net-production-pp.qbox.me/e205ba4f-5db9-4719-bc00-cae9823c2d74.png); ...
摘要:在更多的提供商,你會發現他們只是能根據倉庫和構建鏡像,你用他們的系統甚至沒辦法做出一個最小鏡像中國的其實挺先進的,很早就推出了安全鏡像的概念,讓你的構建通過兩步完成。好了,祝賀那些不支持多段構建的服務,幫你們追平了競爭對手。 showImg(https://segmentfault.com/img/remote/1460000009069845?w=1479&h=609); Docke...
摘要:而實際上在宿主機中也會同步啟動一個進程,其在宿主機中是。如果其中的某一個容器正在執行密集型的任務,那么它就會影響其他容器的任務執行效率,導致多個容器相互影響并且搶占資源。 作者:榮幸 為什么是容器 如果問你現在最熱門的服務器端技術什么?想必很多人會不假思索的說是容器! 容器技術實際上并不是一個新鮮的名詞,現在大家一提到容器馬上想到的就是Docker,但是容器這個詞并不是Docker公司...
摘要:實現架構基于這些調查以及一些小的編寫,設計出一個可定制化的在線比賽平臺的架構在中我使用的是,所以這里的持久卷是的持久化卷,用來管理用戶數據集和上傳和訪問。在管理的同時,也作為代理服務,可以直接把的內容返回給在線比賽平臺。 背景最近使用科賽發現這個和jupyter長的差不多的在線比賽平臺非常有趣,用戶可以上傳自己的數據,創建自己的項目并且可以使用交互式的筆記本, 支持實時代碼,數學方程,...
摘要:實現架構基于這些調查以及一些小的編寫,設計出一個可定制化的在線比賽平臺的架構在中我使用的是,所以這里的持久卷是的持久化卷,用來管理用戶數據集和上傳和訪問。在管理的同時,也作為代理服務,可以直接把的內容返回給在線比賽平臺。 背景最近使用科賽發現這個和jupyter長的差不多的在線比賽平臺非常有趣,用戶可以上傳自己的數據,創建自己的項目并且可以使用交互式的筆記本, 支持實時代碼,數學方程,...
閱讀 1272·2021-10-18 13:32
閱讀 2348·2021-09-24 09:47
閱讀 1333·2021-09-23 11:22
閱讀 2469·2019-08-30 14:06
閱讀 577·2019-08-30 12:48
閱讀 2007·2019-08-30 11:03
閱讀 544·2019-08-29 17:09
閱讀 2470·2019-08-29 14:10