docker 安装jupyterhub支持R语言

docker安装

systemctl stop firewalld.service

systemctl disable firewalld.service

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

yum -y install docker-ce

systemctl start docker

下载jupyterhub镜像

docker pull jupyterhub/jupyterhub

启动docker

docker run -p 8000:8000 -d --name jupyterhub  -v /data/jupyterhub/jupyterhub:/srv/jupyterhub -v /data/jupyterhub/home:/home --restart=always jupyterhub/jupyterhub jupyterhub

访问jupyterhub

因为Jupyterhub是使用系统的账号和密码,所以需要登陆到docker容器里去创建系统账号和密码

登陆docker 容器

docker exec -it jupyterhub bash

useradd jupyterhub

passwd jupyterhub

输入两次密码

 更新pip

pip install --upgrade pip

 更新jupyterhub

pip install --upgrade jupyterhub

默认docker没有安装notebook,不执行这条命令,无法使用jupyterhub

pip install notebook --upgrade

打开浏览器,http://IP:8000,会出现500的错误,因为jupyterhub使用的的home目录没有权限,需要去添加权限,home目录是保存jupyterhub notebook文件的路径

chmod -R 777  /data/jupyterhub/home/

 此命令针对实例不是在containner内部运行,也不是针对镜像的命令。

添加好权限后就可以正常访问,输入刚才创建的系统账号和密码

如果需要支持R语言的话,需要安装R内核

conda install -c r r-essentials

R内核安装好后,还是会出现各种错误

再执行如下命令

apt-get install r-base r-base-dev

测试R语言是否可以正常使用

 

登陆http://IP:8000

查看已安装的R语言包

installed.packages()

可以打开docker日志查看并排错

docker logs -f jupyterhub

如果想省事,怕麻烦,直接下载我打好的jupyterhub_r的docker镜像

docker pull 564239555/jupyterhub_r

直接启动就好

docker run -p 8000:8000 -d --name jupyterhub  -v /data/jupyterhub/jupyterhub:/srv/jupyterhub -v /data/jupyterhub/home:/home --restart=always 564239555/jupyterhub_r jupyterhub

启动好后给home目录添加权限,进入docker容器创建账号和密码,就可以正常使用了

解决报错

cannot assign requested address.
jupyter notebook --ip=127.0.0.1 --allow-root

jupyter notebook更改配置文件

#生成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端口对应

添加用户和组

  • groupadd jupyterhub
  • useradd -c "用户注释" -g jupyterhub -d /home/用户目录 -s /bin/bash 用户名
  • 查看jupyterhub用户组的所有用户:
 GID=`grep 'jupyterhub' /etc/group|awk -F':' '{print $3}'`
 awk -F":" '{print $1"\t"$4}' /etc/passwd |grep $GID
  • passwd 用户名 修改某个用户的密码[root用户]

你可能感兴趣的:(docker 安装jupyterhub支持R语言)