# docker封包记录

# centos基座

  • 拉取基础镜像
docker search centos

docker pull couchbase/centos7-systemd
  • 更新yum源
 #备份默认Yum源
 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
 
 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 rm /etc/yum.repos.d/pgdg-redhat-all.repo

yum clean all
yum makecache
  • 安装gcc
#安装scl源
yum install -y centos-release-scl scl-utils-build

yum install -y devtoolset-8-toolchain

# 执行下方命令,同时将其复制到 /etc/profile末尾,之后再source生效  (直接执行,只再当前bash生效,放置在/etc/profile中,所有bash都会生效,其他用户也会生效)
scl enable devtoolset-8 bash
  • 成品包
包名 注意事项 大小
centos7-alpha3.tar 使用时,需要 source /etc/profle生效 1.72G

# pgvector封包

  • 创建pgsql用户
useradd -m pgsql
passwd pgsql

#所有操作均基于pgsql用户,参见pgvector笔记
  • 成品包
包名 注意事项 大小
centos7-pg13-vector-alpha1.tar 端口5466 1.97G

# py3.9封包

  • 安装conda
#安装成功后,把该安装包删除
sh ./Anaconda3-2022.05-Linux-x86_64.sh

#这两句加入 /etc/profile
export CONDA=/root/miniconda3
export PATH=$PATH:$CONDA/bin
  • 成品包
包名 注意事项 大小
centos7-py3.9-alpha1.tar anaconda的环境就占用了7.2G左右 9.43G

# py3.9-gpu-torch13.1-cuda11.7封包

  • 宿主机安装nvida显卡驱动+cuda驱动
  • 安装nvidia-docker插件
#安装源
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo |   sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

sudo yum install -y nvidia-container-toolkit

# 这一句似乎没有执行,暂记为可选项吧
sudo yum install -y nvidia-container-runtime
  • 安装toarch13.1

    • 参考pytorch官网,版本历史选择cuda11.7
    # CUDA 11.7
    conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia
    # CUDA 11.8
    conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
    # CPU Only
    conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 cpuonly -c pytorch
    
    
    # CUDA 11.6
    conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
    # CUDA 11.7
    conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
    # CPU Only
    conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cpuonly -c pytorch
    
    # CUDA 11.6
    conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.6 -c pytorch -c nvidia
    # CUDA 11.7
    conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia
    # CPU Only
    conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 cpuonly -c pytorch
    
    # CUDA 10.2
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=10.2 -c pytorch
    # CUDA 11.3
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
    # CUDA 11.6
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
    # CPU Only
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cpuonly -c pytorch
    
  • 成品包

包名 备注 大小
centos7-py3.9-torch3.1-alpha1.tar 启动示例: docker run --gpus all -it centos7-py3.9-torch3.1:alpha1 /bin/bash 16.2G

# chatglm2-6b封包

  • 由于封包后体积大,处理速度已经到了不能接受的地步,因此建议是由外挂磁盘的方式使用;

  • docker run -v /hd01/llm-models/chatglm2-6b:/chatglm2-6b --gpus all -it centos7-py3.9-torch3.1-modelscope:alpha1 /bin/bash

  • 注意,当前版本的transformers=4.34.1, chatglm的某些版本要求transformers=4.33.2