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内部运行,也不是针对镜像的命令。

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

image.png

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

conda install -c r r-essentials

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

再执行如下命令

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

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

 

登陆http://IP:8000

image.png

查看已安装的R语言包

installed.packages()

image.png

可以打开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,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装DockerDocker Compose。如果没有,请先安装它们。 2. 创建一个名为`jupyterhub`的文件夹,并在其中创建一个名为`Dockerfile`的文件。 3. 在`Dockerfile`中添加以下内容: ```Dockerfile FROM jupyterhub/jupyterhub:1.4 # 安装 JupyterHub 的依赖包 RUN pip install jupyterhub-dummyauthenticator # 添加自定义配置文件 COPY jupyterhub_config.py /srv/jupyterhub/jupyterhub_config.py ``` 这个Dockerfile基于官方的JupyterHub镜像,并安装了一个名为`jupyterhub-dummyauthenticator`的虚拟认证器,以便在测试环境中使用。您可以根据需要更改认证器。 4. 在`jupyterhub`文件夹中创建一个名为`jupyterhub_config.py`的文件,并添加您的JupyterHub配置。例如: ```python c.JupyterHub.authenticator_class = 'dummyauthenticator.DummyAuthenticator' c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner' .DockerSpawner.image = 'jupyter/scipy-notebook' c.DockerSpawner.remove_containers = True # 添加其他配置选项... ``` 这里使用了`dummyauthenticator`作为虚拟认证器,并使用了`dockerspawner`作为启动器。您可以根据需要添加其他配置选项。 5. 确保您在`jupyterhub`文件夹中有一个名为`jupyterhub_config.py`的配置文件和一个名为`Dockerfile`的Docker文件。 6. 打开终端,导航到`jupyterhub`文件夹,并构建Docker镜像: ``` docker build -t jupyterhub-image . ``` 这会构建一个名为`jupyterhub-image`的Docker镜像。 7. 创建一个名为`docker-compose.yml`的文件,并添加以下内容: ```yaml version: '3' services: jupyterhub: image: jupyterhub-image ports: - 8000:8000 volumes: - /var/run/docker.sock:/var/run/docker.sock ``` 这个`docker-compose.yml`文件定义了一个名为`jupyterhub`的服务,使用之前构建的Docker镜像,并将主机的8000端口映射到容器的8000端口。 8. 在终端中导航到包含`docker-compose.yml`文件的目录,并运行以下命令启动JupyterHub: ``` docker-compose up -d ``` 现在,您应该可以通过访问`http://localhost:8000`来访问JupyterHub。 请注意,这只是一个简单的示例配置。根据您的需求,您可能需要进行更多的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值