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