快捷搜索: 王者荣耀 脱发

天池比赛——docker初步尝试

天池docker

1.创建阿里云容器镜像

(dockerhub其实也行,天池的比赛应该只能用阿里云,这样也方便)、

注册地址:https://cr.console.aliyun.com

1.1 注册开通

我创建完就是这种界面,我感觉就是类似于推到了github

2.安装docker

安装docker我觉得官方文档靠谱点,不会出错

sudo apt install docker.io

3.启动GPU版本Docker

这个我没试过,我的服务器本身就是个容器,这个还是要测试一下

# Add the package repositories 
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 
curl -s -L [https://nvidia.github.io/nvidia-docker/gpgkey](https://nvidia.github.io/nvidia-docker/gpgkey) | sudo apt-key add - 
curl -s -L [https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list](https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list) | sudo tee /etc/apt/sources.list.d/nvidia-docker.list 
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit 
sudo systemctl restart docker

4.测试docker

docker run hello-world

5.使用Dockerfile构建镜像

# Base Images 可以指定版本
## 例如:pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
FROM pytorch/pytorch

## 安装依赖包 也可以替换成单独的包安装 据说用requirement安装有可能找不到路径
RUN pip install -r requirement.txt

## 把当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录
# workspace可以替换
# ADD . /
# WORKDIR /
ADD . /workspace
WORKDIR /workspace

## 镜像启动后统一执行 sh run.sh
CMD ["sh","run.sh"]

6.构建镜像

docker build [选项] <上下文路径/URL/->
docker build -t registry.cn-hangzhou.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号] .
docker build -t registry.cn-hangzhou.aliyuncs.com/ali_imageforgrey/forrester:1.0 .

注意:registry.~~~是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。

7.GPU镜像

构建完镜像可以先验证是否正常,再推送

CPU镜像:docker run your_image sh run.sh GPU镜像:nvidia-docker run your_image sh run.sh

8.推到远程仓库

docker push registry.cn-hangzhou.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]

9.测试

构建完可以测试验证,正常后再推送,这个我没测试

docker run --gpu all registry.cn-hangzhou.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]

如果内存限制,不够用:

docker run --shm-size 8G --gpu all registry.cn-hangzhou.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]
最后感谢队友的分享@
经验分享 程序员 微信小程序 职场和发展