docker使用jupyter/datascience-notebook,重置密码,并且设置各类易用参数

前言

前一篇文章写了自己安装conda环境,然后添加C++、C语言环境等,那时候就在想,有没有现成的docker可以用,后来搜了一下docker的网上镜像,还真的有:

可以看到有一个人的镜像,星星是最多的,于是我就pull了一下,然后下载了好长时间,大概下载了2个多G左右,终于下完了,等我正式使用的时候,爽飞,根本不需要自己安装jupyter 和python环境,甚至这个jupyter自带了R语言,但是使用的时候,发现其他东西没有,需要安装的时候,甚至连ping都没有,也查不到IP,怎么办呢,于是我就去找密码,解决发现这个作者根本就没有把密码给出来,于是我就尝试一个个破解密码的方法,后来取得成功,作此文章记录。

以下甚至我又添加了其他更容易使用的功能:

一、步骤

  • 安装docker ,自行搜索吧

  • 换成国内docker源,自行搜索吧

  • 拉取jupyter镜像:

    docker pull jupyter/datascience-notebook

  • 使用以下命令创建,注意:请把user换成自己的用户名

    docker run -itd
    --name myjupyter
    --privileged=true
    --net=host
    -v /home/user:/home/jovyan
    -v /tmp/.X11-unix:/tmp/.X11-unix
    -v /dev:/dev
    -e "JUPYTER_ENABLE_LAB=yes"
    -e "NB_USER=user"
    -e "NB_UID=1000"
    -e "GRANT_SUDO=yes"
    -e DISPLAY=unix$DISPLAY
    jupyter/datascience-notebook start-notebook.sh --NotebookApp.token=''

注意:

  1. 在命令中,我添加了将运行的界面程序通过x11投放到本机的功能。使用的时候,请先使用命令:主机上:xhost + ,需要显示应用界面的是,都需要哦!!!但其实绝大多数人不需要这一步

  2. 我映射了/home目录、dev目录、以及 tmp目录,请按情况自行去掉。

  • root用户运行docker:

    docker exec -it -u root myjupyter /bin/bash

  • 进入容器以后,输入命令更改密码:passwd
    例如我的密码是 admin

  • 更改apt源:(可不用)

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    sudo vi /etc/apt/sources.list
    最后添加:
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

    sudo apt update

    // 以下可选安装:************************
    apt-get install iproute2
    apt-get install net-tools
    ip addr show

    apt install vim
    apt-get install openssh-server
    apt install x11-apps -y

    // *************************************

安装完了以后,其实就可以在浏览器直接访问:http://127.0.0.1:8888 就可以jupyter-lab了

因为docker 在run的时候,就进行了绑定host,所以共享IP和所有端口(小心和自己环境冲突哦)

但是后来我测试安装C++和C的环境,发现出错了,不知道为啥。

可选:

保存镜像:

docker commit container_id new_image_name:new_tag

二、无秘钥使用jupyter

因为之前run的时候,就设置了无密码,所以直接以普通用户打开即可,请不要使用root权限打开,有时候在root下安装东西会导致权限太高,会导致出问题。

  • 换一个cmd窗口,或者 exit 退出,
  • 使用普通用户运行:docker exec -it myjupyter bash
  • 这里可自行使用conda新建环境,详细步骤自行搜索。
  • 浏览器访问 http://127.0.0.1:8888 ,无需token秘钥
相关推荐
第九序言T19 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路19 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_4260039619 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_20 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc21 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl21 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang21 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真1 天前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn1 天前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
2601_967980111 天前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包