一、将离线安装包文件conda4.8.5粘贴至运维桌面后上传至服务器(可以winscp),pwd查看文件路径,一般都在 /app 下

1.查看要操作的容器id(运行中)

docker ps | grep jupyter

2.因为默认路径是在 /home/jovyan/work ,所以把安装包丢到这里(下面命令写 docker cp -r 会报错,不要加 -r)

docker cp /app/conda4.8.5 0cca5e7e81cc:/home/jovyan/work/

3.进入容器内部

docker exec -it 容器id /bin/bash
ls

4.查看环境

conda info -e

5.确认work路径下有conda4.8.5文件夹后,切换要升级的anaconda环境变量(注意bin目录)(注:也可以先看下面内容修改~/.bashrc内容永久更改环境变量)

export PATH=/home/hovyan/anaconda3/bin:$PATH

6.确认conda版本

conda --version

二、conda 先升级至4.6.14再升级至4.8.5

1.下方是我替换的包,诸位换成自己的包即可

conda install --offline conda4.8.5/conda-env-2.6.0-h36134e3_1.tar.bz2
conda install --offline conda4.8.5/ruamel_yaml-0.11.14-py36ha2fb22d_2.tar.bz2
conda install --offline conda4.8.5/pycosat-0.6.3-py36h7b6447c_0.tar.bz2
conda install --offline conda4.8.5/conda-4.6.14-py36_0.tar.bz2
conda install --offline conda4.8.5/libarchive-3.4.2-h5de8990_2.tar.bz2
conda install --offline conda4.8.5/lzo-2.10-h1bfc0ba_1.tar.bz2
conda install --offline conda4.8.5/lz4-c-1.9.2-he6710b0_0.tar.bz2
conda install --offline conda4.8.5/zstd-1.4.4-h0b5b093_3.tar.bz2
conda install --offline conda4.8.5/bzip2-1.0.8-h5eee18b_5.tar.bz2
conda install --offline conda4.8.5/xz-5.2.5-h7b6447c_0.tar.bz2
conda install --offline conda4.8.5/conda-package-handling-1.7.2-py36h03888b9_0.tar.bz2
conda install --offline conda4.8.5/tqdm-4.31.1-py37_1.tar.bz2
conda install --offline conda4.8.5/six-1.15.0-py36h06a4308_0.tar.bz2
conda install --offline conda4.8.5/conda-4.8.5-py36_0.tar.bz2

conda --version

2.tqdm 下载后会有问题,重新pip

pip install tqdm==4.31.1

3.vi不好用,下载vim,可能会不成功,不成功就使用sudo方式修改文件

sudo apt-get install vim

4.修改.condarc

vim ~/.condarc  ||  sudo vi ~/.condarc

5.追加一行,无需 source(shift + g 跳转至最后一行,o 开启新行并变成插入模式)

use_only_tar_bz2: false

6. 修改 .condarc 文件内容

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
show_channel_urls: true
ssl_verify: false
use_only_tar_bz2: false

三、修改环境变量(/etc/profile 和 ~/.bashrc 在退出容器后都需要 source 才生效,但前者无法持久化。后者可以)

sudo vi ~/.bashrc

追加一行:

export PATH=/home/jovyan/anaconda3/bin:$PATH

持久化

source ~/.bashrc

四、镜像打包推送

1.镜像提交(x 为原版本+1)

docker commit 容器id 容器名称:v0.x

docker commit 12345678 jupyter/minimal-notebook-xxx:v0.1

2.镜像打包(注意根据自己服务器情况切换目录,我用/app,不然磁盘空间不足会告警)

cd /app
docker save 容器名称:v0.x > image-容器名称简写-v0.x.tar

docker save jupyter/minimal-notebook-xxx:v0.1 > image-xxx-v0.1.tar

3.镜像传输,从主节点同步至两个从节点(可同时传多个文件,但服务器只能一次选一个),两台服务器都确认传输完成后删除主节点tar包节省空间

scp tar文件 用户@服务器ip:路径

scp image-xxx-v0.1.tar image-xxx2-v0.8.tar user@10.5.25.23:/app/
rm -rf image-xxx-v0.1.tar image-xxx2-v0.8.tar

4.打开两个从节点服务器分别加载镜像(一次只能load一个tar包),再查看镜像是否成功加载

cd /app
docker load -i image-xxx-v0.1.tar
docker images | grep jupy

5.全部同步完成后,修改 values.yaml 配置文件,修改对应模型组下面的镜像版本

cd /app/k8s/jupyterhub
vim values.yaml

6.保存退出后重启服务

helm upgrade --install jhub . --namespace jhub --version=2.0.0

五、一些用于确认状态的 docker/conda 命令

docker 后台启动本地镜像

docker run -d -it 镜像名称:镜像版本

docker 查看包含xxx的运行中容器、所有容器、镜像

docker ps | grep xxx
docker ps -a | grep xxx
docker images | grep xxx

查看 conda 版本

conda --version

查看根据环境变量展示的环境

conda info -e

查看环境变量

echo $PATH

切换环境(两者区别:前者4.5以前的版本使用,后者4.5后的新版本可以使用。我们一般用前者,后者可能报错)

source activate ... || conda activate ...

更多推荐