如何將anaconda+jupyter build成docker映象
最近由於業務的需求,要build一個jupyter的image來提供服務,因為docker的輕量化可以很方便的遷移。下面來介紹一下我所做的操作,以及我踩的坑:
首先來安裝anaconda,有python2和3版本的,版本不同但是build的過程是一樣的,有兩種方式,第一種,你可以通過Dockerfile的方式來build image,但是在執行Anaconda2-5.0.1-Linux-x86_64.sh指令碼的時候無法實現互動,所以,我才用了docker commit的方式來執行,但是事實證明也可以通過Dockerfile的方式來build,您只需要在本機上先運行了Anaconda2-5.0.1-Linux-x86_64.sh的指令碼,並將生成的資料夾就是anaconda2 ADD到image中相應的位置,並且修改環境變數,將PATH加進去即可。下面以python2為例來說:
1. 從anaconda官網上下載執行指令碼Anaconda2-5.0.1-Linux-x86_64.sh,其中在下載的時候要注意你的系統的是32位還是64位。
2. 將指令碼scp到基礎映象中,安裝解壓指令bzip2
yum install bzip2
3. 執行指令碼(一路輸入yes)
sh Anaconda2-5.0.1-Linux-x86_64.sh
4. 更新anaconda
conda update anaconda
5. 安裝jupyter
conda install jupyter
6. 建立登入密碼
[email protected] ~]# ipython Python 3.5.2 (default, Aug 4 2017, 02:13:48) Type 'copyright', 'credits' or 'license' for more information IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:5311cd8b9da9:70dd3321fccb5b5d77e66080a5d3d943ab9752b4'
7. 生成配置檔案
jupyter notebook --generate-config --allow-root
注意:在這一步的時候有可能會遇見編碼錯誤:UnicodeEncodeError:'ascii'codec can't encode characters in position...
處理的方法是:在anaconda2資料夾中的lib>python2.7>site.py更改:
if 0: # Enable to support locale aware default string encodings. import locale loc = locale.getdefaultlocale() if loc[1]: encoding = loc[1] #將上述程式碼段中if後面的0改成1,儲存,重新啟動anaconda。
8. 修改配置檔案:
vi ~/.jupyter/jupyter_notebook_config.py
新增以下內容:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:5311cd8b9da9:70dd3321fccb5b5d77e66080a5d3d943ab9752b4' #注意這裡的金鑰是剛剛生成的那個
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #隨便指定一個埠,使用預設8888也可以
9.儲存映象
docker commit 容器ID 映象名稱
10. 啟動images提供服務:
docker run --privileged -d -p 8889:8888 -v /sys/fs/cgroup:/sys/fs/cgroup --name jupyter jupyter2:v2 /usr/sbin/init
注意:centos7有一個大坑,就是你在關閉防火牆的時候,systemctl 無法使用,報錯:Failed toget D-Bus connection: Operation not permitted
所以要用init來起,在Dockerfile中可以用CMD來使執行時啟動。
11. 進入docker image
docker exec -it jupyter /bin/bash
12.關閉防火牆
systemctl stop firewalls.service
13. 啟動jupyter
jupyter notebook --notebook-dir=/root/ --allow-root
14.在瀏覽器輸入伺服器的IP+對映的埠號即可訪問,完成
相關推薦
如何將anaconda+jupyter build成docker映象
最近由於業務的需求,要build一個jupyter的image來提供服務,因為docker的輕量化可以很方便的遷移。下面來介紹一下我所做的操作,以及我踩的坑: 首先來安裝anaconda,有python2和3版本的,版本不同但是build的過程是一樣的,有兩種方式,第一種,
將Web專案打包成Docker映象,並推送到遠端
還在實習,最近做完專案收尾時,大佬叫我自己學習下怎麼使用docker,以後自己推專案.從來沒有接觸過,搗鼓了大半天,才學會最基礎的使用,記錄一下. 環境是spring boot 用gradle管理; 首先直接將專案整個(或者
將 war 包 打成docker映象
隨著docker等容器技術的成熟,使得dev-ops的開發理念得到落實。公司內部提供的容器都是封裝好的,於是決定嘗試自己在docker上部署第一個應用來練習練習,還是有不少坑的。前提是docker已經在本地安裝了,具體安裝步驟可以上官網檢視。 1、拉取最新的tomcat映象
將jar包製作成docker映象
1、準備可執行jar包 2、建立Dockerfile檔案 檔案內容: FROM java:8 ADD api-gateway-microservice-0.1.0.jar app.jar RUN bash -c 'touch /app.jar' ENT
Spring Boot專案打包成docker映象
如何完成這篇教程 像大多數的Spring系列教程 Getting Started guides,你可以從頭開始,完成每一步,也可以跳過已經熟悉的基本構建步驟。 無論哪種方式,你都可以成功。 使用maven構建 首先你得安裝構建指令碼. 你可以使用你喜歡的構建系
把自己的Tomcat專案打成docker映象
1,安裝docker環境,這個很簡單,自己百度一下 2,先建立一個我們自己玩的目錄 mkdir docker-tomcat 這裡說下,網上有些資料是把自己的專案打成一個war包,然後從網上直接下載Tomcat的原始碼 個人覺得這種方式比較複雜,所以這裡採用的是直接將包含自己
Spring Boot學習總結(10)——SpringBoot打包成Docker映象
<build><!--定義jar檔名,可以自定義--><finalName>${project.name}-${project.version}</finalN
【086】部署nodejs程式時,如何把自己用到的npm模組封裝成Docker映象,方便在離線的時候使用?
使用場景 在本文開頭,說一下碰到的使用場景。編寫好nodejs程式後,就要封裝成Docker映象。在編譯Dockerfile的時候,系統會從npm的模組倉庫中下載用到的模組。這會碰到兩個問題: 第一,大多數情況下,我們更新程式,只是改了原始碼,沒有修改pac
嵌入式Linux---將檔案系統製作成系統映象
假設已經制作好檔案系統rootfs,下面就開始製作映像檔案了: 1.建立檔案系統 ramdisk8M.image ,檔案系統格式為ext2,大小最好不要超過32M dd if=/dev/zero of=ramdisk8M.image bs=1024 count=8192 mke
通過tar命令將現有的系統打包成docker容器,用於構建映象檔案
選擇一個系統,在根目錄下將已有系統打包成tar檔案:tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=b
windows 下將springboot 推送到docker上打成映象
Docker Remote API是一個取代遠端命令列介面(rcli)的REST API。本文中,我們將使用命令列工具cURL來處理url相關操作。cURL可以傳送請求、獲取以及傳送資料、檢索資訊。 一、搭建環境 選用的是
docker將jar包構建成映象並執行
1.編寫Dockerfile檔案 FROM java:latest ADD AeurekaServer-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java"
使用docker將maven專案打包成映象
最近工作中需要使用docker打包成映象啟動,所以有了這篇文章。 差點忘了,你的maven專案中首先要有配置docker打包 以下是maven專案的配置 1.pom檔案中加入plugin <plugin>
將一個簡單的python程式打包成加密的docker映象並對外提供介面
環境:python2.7 docker:一、一個簡單的python程式既然是一個簡單的python程式,那我們就實現一個簡單的加法功能即可。#coding=utf-8 import random def add(aStr,bStr): map={} t
6、CentOS7 安裝Docker之擴充套件(三個技巧,將Docker映象體積減小90%)
三個技巧,將Docker映象體積減小90% 在構建Docker容器時,應該儘量想辦法獲得體積更小的映象,因為傳輸和部署體積較小的映象速度更快。 但RUN語句總是會建立一個新層,而且在生成映象之前還需要使用很多中間檔案,在這種情況下,該如何獲得體積更小的映象呢? 你可能
將springBoot專案打成映象並建立容器,啟動容器,訪問專案過程
1.安裝docker就不說了 2.安裝docker 的 nexus倉庫 (1)拉取私有倉庫映象 docker pull registry (2)啟動私有倉庫容器 docker run -di --name=registry -p 5000:5000 regi
docker映象的製作(三) 基於commit將容器轉化為映象
將容器轉化為映象在上一小節中,我們已經在容器裡安裝好了nginx,接下來我們希望將這個容器內容儲存下來,這樣我們下次就無需再次安裝了。這就是Docker中將容器轉換為映象的技術。如果您還在剛剛的安裝了nginx的終端裡,執行exit退出此終端,回到系統本身的終端:ps命令可以
基於CentOS7將JavaWeb專案生成docker映象
近段時間接觸docker,嘗試著將javaweb專案做成一個docker映象,下面具體說明生成步驟,如有不足,希望能在後續的學習中查漏補缺。 一 前提 關於docker環境的搭建這裡不再贅述,網上也有很多教程,值的一提的是centos7版本,Docker 軟
使用docker-maven-plugin外掛將專案編譯為docker映象到遠端linux伺服器(非常有用)
在win10中使用idea開發一個模組化的maven專案,然後想要把該專案直接編譯到遠端Linux伺服器的Docker中,具體做法如下: 第一:在各模組中的pom檔案中加入以下 <plugin> <groupId>co
docker映象的製作(二)----新手指南:如何將應用打包成為 Docker 映象?
雖然 DockerHub 提供了大量的映象,但是由於企業環境的多樣性,並不是每個應用都能在 DockerHub 找到對應的映象來使用。那就要求企業的運維人員掌握製作 Docker 映象的技能。在開始打包應用前,你首先要明白這兩件事:第一件事是選擇適合你的方式來生成映象: 1. 通過 Dockerfile 來自