首先,pull官方的镜像,名字叫:continuumio/anaconda3

首先的首先,如果默认还是需要sudo运行docker命令,可以考虑把当前用户加入到docker组(usermod -aG docker $USER),然后重新登录一下就好了(备注:如果也在用tmux操作,需要重新开一个session,不然fork出来的user login总是保留着旧的状态。)

其次,这时候其实建议写一个dockerfile,不过因为偷懒,且不是永久性质的部署,所以选择了直接运行image。

目前用的命令是直接运行bash,然后再attach进去手动运行jupyter。docker run 对应的指令如下:

docker run -it -p 127.0.0.1:9999:8888 -v /home/user/container-notebook:/opt/notebook --name notebook continuumio/anaconda3

怕自己以后忘记这里说明一下,-p是端口映射,把容器内的8888端口映射到本机的9999。注意:如果不加127.0.0.1默认是bind 0.0.0.0

以及,-v 是目录(volume)映射,把本机的container-notebook挂到了容器内的/opt/notebook

--name 是方便以后操作加上的,不加的话会随机生成一个名字,不好认。

至于command,因为默认会运行bash,所以image name后面就省略command部分了。

至于为什么需要先进shell,主要是为了设置jupyter的密码。因为不设置密码的话登录要用url token,太麻烦了,而用参数明文指定密码也不太好,只好手动操作了。

设置密码的指令很简单:jupyter notebook password 即可。注意:密码保存在~/.jupyter下的一个json config里面,非明文,仅保存了hash值。如果忘了只能手动再设置一遍。

之后在shell里面运行notebook的命令也很简单:jupyter notebook --notebook-dir=/opt/notebook --ip=* --no-browser --allow-root 即可。

这里也说明一下相关的细节:因为官方的docker image只有root用户,所以不加allow-root运行不了。其他参数都好理解。

最后,因为运行了上面这条jupyter的指令后,stdin就被占用了,这时候ctrl+c不是退出container,而是终止jupyter。官方的默认退出container的操作是快捷键ctrl+p然后ctrl+q,这样可以保持容器内的前台任务继续运行。

其他补充

因为google了很多相关的东西,虽然不一定跟部署jupyter有关,不过还是有用也值得记录一下的。

1. 停止 docker container 一般优先用stop,kill是发送SIGKILL强制退出,没有提前发送SIGTERM

2. 想要在docker里面用tmux的前提是有一个可以安装tmux的环境(比如基于某个发行版的docker image)

3. docker pull下来的image默认存储在/var/lib/docker

4. docker run 的时候加上-d参数可以把stdout的输出转移到后台,需要查看的话用docker container logs

ref:

官方镜像(内附简要使用说明):https://hub.docker.com/r/continuumio/anaconda3

https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

docker kill 和 stop 有什么区别》http://dockone.io/question/158

关于Docker目录挂载的总结 - iVictor - 博客园》https://www.cnblogs.com/ivictor/p/4834864.html

https://stackoverflow.com/questions/19234831/where-are-docker-images-stored-on-the-host-machine

后台运行 | Docker 从入门到实践》https://vuepress.mirror.docker-practice.com/container/daemon.html

端口映射:https://docs.docker.com/config/containers/container-networking/

https://docs.docker.com/engine/reference/commandline/attach/

目录挂载:https://docs.docker.com/storage/volumes/

docker 配置 anaconda + jupyter notebook 纪要的更多相关文章

  1. Windows+anaconda+jupyter notebook+R+python3.6

    Windows+anaconda+jupyter notebook+R+python3.6 环境配置 1. 设置国内清华大学镜像 打开 anaconda prompt,输入命令 conda confi ...

  2. anaconda jupyter notebook 启动方法

    介绍 anaconda jupyter notebook是一种基于浏览器的python编译环境.(大概) 使用时可能因为浏览器缓存造成问题. 但是很方便. 启动方法 anaconda navigato ...

  3. anaconda+jupyter notebook 安装配置

    安装Anaconda 从清华大学开源软件镜像站选择合适自己的版本 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda ...

  4. 配置tensorflow环境(anaconda+jupyter notebook)

    很早之前,tensorflow环境之前我也曾装过,但是用的不是很舒服,很多问题都不明所以然.今天想要系统地学习一下tensorflow,于是又重新搭建了一遍,这次还是踩了不少坑.特此写下此文,供有兴趣 ...

  5. Centos7安装 Anaconda + jupyter notebook

    一.安装Anaconda 1 下载Anaconda安装脚本 为了避免漫长的等待,镜像源选择国内的清华镜像源,镜像源地址:https://mirrors.tuna.tsinghua.edu.cn/ana ...

  6. anaconda jupyter notebook修改默认文件路径

    使用anaconda附带的jupyter,想要改变默认运行文件路径,直接在cmd中输入jupyter notebook会提示:jupyter不是内部命令! 可能是anaconda代理了他所安装的软件, ...

  7. 改 Anaconda Jupyter Notebook 开发文件保存目录

    1.打开cmd,输入命令找到配置文件路径 jupyter notebook --generate-config 2.打开 jupyter_notebook_config.py 修改配置 c.Noteb ...

  8. 配置远程jupyter notebook

    在远程服务器上启动jupyter notebook,然后在本地进行访问.本文使用最简单的一种方法,无需设置密码,所以这种方法也是最不安全的方法,慎用. 1. 在远程服务器上生成jupyter note ...

  9. 环境配置 | 安装Jupyter Notebook及jupyter_contrib_nbextensions库实现代码自动补全

    一.Jupyter Notebook的安装与启动 安装Jupyter Notebook pip3 install jupyter 启动 jupyter notebook 输入命令后会自动弹出浏览器窗口 ...

  10. 全真教程:Windows环境Jupyter Notebook安装、运行和工作文件夹配置

    全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 @ 目录 全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 一.Jupyt ...

随机推荐

  1. Rocky linux command-1

    在Linux下一切皆文件 everything is file,包括目录也是文件的一种而这些文件被分为七种类型: • -:普通文件 • d: 目录文件 • b: 块设备 • c: 字符设备 • l:  ...

  2. [CQOI2006]凸多边形 /【模板】半平面交

    洛谷 题意:逆时针给出\(n(n<=10)\)个凸多边形的顶点坐标,求它们交的面积. 学长博客,计算几何知识全面 半平面交问题详细讲解 其他模板题推荐 [ICPC2020 WF] Domes [ ...

  3. 微信小程序级联选择器省市区选择器部分安卓手机兼容的问题:无法只选省份,必须选择到市

    代码片段: 1 <view class="item"> 2 <view class="i-name"><text class=&q ...

  4. dockerfile实践学习

    一.dockerfile简介 镜像是分层存储的,每一层在前一层的基础上进行修改. 容器也是分层存储,已经向为基础层,在其他基础上加一层作为容器运行的存储层. 创建镜像的另种两种方法 手动修改容器内容, ...

  5. Python用telnet设置,抓UDP抓采样点并显示

    ====main.bat==== echo off rem "d:\Program\WiresharkPortable64\App\Wireshark\tshark.exe" -- ...

  6. 创建SFTP用户并指定访问目录 Linux

    1.创建登录用户及用户组   --可以根据自身磁盘挂载情况制定用户home目录 -d 选项 groupadd test1mkdir -p /data/test1 useradd test1 -g te ...

  7. 1.win10安装centos虚拟机并设置允许远程

    一.下载并安装 打开如下连接,下载VMware和CentOS7镜像安装好虚拟机 http://t.zoukankan.com/onlymate-p-9837651.html这个链接的镜像是7.0的,我 ...

  8. java第六周学习情况

    这个星期接到了要开学的消息,心情是非常慌张的,毕竟还没有学到多少东西.但确实是要开学了.心中说不出激动还是紧张,那就带着这种奇妙的情绪记录这次的学习吧 首先必然还是看了相关的程序,记没记下来是另外一说 ...

  9. 2020ICPC沈阳I - Rise of Shadows

    剩余系 Problem - I - Codeforces 题意 给定 \(H,M,A\) \(2<=H,M<=10^9,\;0<=A<=\frac {H*M}2\) 假设一个钟 ...

  10. mac_office2019

    mac_office2019下载 1,链接地址: mac_office2019: https://590m.com/d/28636472-44062040-dc385f (访问密码:7410) 2, ...