# LLMA **Repository Path**: mobtgzhang/llma ## Basic Information - **Project Name**: LLMA - **Description**: 大模型部署 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-12 - **Last Updated**: 2023-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大模型环境配置教程 ## 部署NVIDIA-cuda docker环境 我这里使用的是Debian ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \ && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ``` 然后更新源,安装`nvidia-docker-toolkit` ```bash apt-get update apt-get install -y nvidia-docker2 ``` 重启,并且完成安装 ```bash sudo systemctl restart docker ``` 拉取对应的docker镜像,如下所示 ```bash sudo docker pull nvidia/cuda:11.7.1-base-ubuntu22.04 ``` 创建镜像 ```bash sudo docker build -f DockerFile -t llma:v0.1 . ``` 运行并且创建容器 ```bash sudo docker run -it --gpus "device=1" --name llma_container llma:v0.1 ``` 查看当前的镜像 ```bash sudo docker images ``` 查看当前的容器 ```bash sudo docker ps -a ``` ## 如何使用容器 要切换到另一个正在运行的容器,需要知道该容器的名称或ID。可以使用以下命令杀掉当前运行的容器: ```bash docker kill [容器名称或ID] ``` 然后,使用以下命令启动另一个容器: ```bash docker start [容器名称或ID] ``` 如果要使用新容器中的交互式终端,可以使用以下命令: ```bash docker attach [容器名称或ID] ``` 如果要在新容器中执行命令,可以使用以下命令: ```bash docker exec [容器名称或ID] [命令] ``` 例如,要在新容器中运行bash shell,可以使用以下命令: ```bash docker exec -it [容器名称或ID] /bin/bash ``` ## 如何将容器中的东西复制出来 ```bash docker cp :/path/to/file /path/on/host ``` ## 如何将当前的容器制作称镜像文件 ```bash docker ``` ## 使用`export` 和`import` 镜像导入和导出 **这两个命令是通过容器来导入、导出镜像。** 将容器导出镜像 ```bash docker export [container-id] > /path/to/filename.tar ``` 这样就可以将当前 使用以下的命令可以将镜像文件导入进去 ```bash docker import - [contrainer-name] < /path/to/filename.tar ``` ## 使用`save`和`load` **这两个命令是通过镜像来保存、加载镜像文件的。** 下面使用`docker save`命令根据ID将镜像保存成一个文件。 ```bash docker save [container-id] > /path/to/filename.tar ``` 将多个`image`打包成一个文件,例如下面的两个镜像打包成一个镜像,例如 ```bash docker save -o /path/to/filename.tar postgres:9.6 mongo:3.4 ``` 下面使用` docker load `命令则可将这个镜像文件载入进来。 ```bash docker load < /path/to/filename.tar ``` 将镜像重命名使用以下的命令 ```bash docker tag [镜像的id号] name:tag ``` 或者这样命名也是可以的 ```bash docker tag name1:tag1 name2:tag2 ``` ## 部署时候需要注意的问题 1. 注意在docker中搭建web端或者需要从外部访问docker时候,IP地址设置为`0.0.0.0`, 这样就会保证外部能够正确访问docker. 2. 可以通过ssh访问docker容器,所以在编辑或者调试docker内部文件的时候,可以使用Pycharm SSH连接;VSCode 需要下载`ssh remote`插件,连接docker编辑代码。