Docker提交天池比赛流程
Posted 鲁棒最小二乘支持向量机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker提交天池比赛流程相关的知识,希望对你有一定的参考价值。
一、安装docker
天池大赛入门与docker实践课程: https://tianchi.aliyun.com/course/351
Ubuntu20.04安装docker: https://blog.csdn.net/qq_42078934/article/details/125283154
二、编写容器相应的提交文件
docker提交天池比赛代码必须创建四个文件:
- Dockerfile:用于打包main.py和运行环境为镜像
- main.py 完成本次任务所需要的main代码
- run.sh 容器启动要执行的脚本
- requirements.txt 所需要安装的依赖包名字,如果包比较少,可以直接写在Dockerfile中
Dockerfile文件示例:
# Base Images
## 从天池基础镜像构建(from的base img 根据自己的需要更换,建议使用天池open list镜像链接:https://tianchi.aliyun.com/forum/postDetail?postId=67720)
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
##安装依赖包,pip包请在requirements.txt添加
RUN pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple && \\
pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /
## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
requirements.txt文件示例:
glob
tqdm
run.sh文件示例:
#!/bin/bash
python main.py
main.py文件示例:
import glob
print("hello tianchi.")
files = glob.glob('/tcdata/*')
print(files)
三、打包镜像并提交
登录阿里云Docker
sudo docker login --username=hailei_cloud registry.cn-shanghai.aliyuncs.com
- username:登录的用户名为阿里云账号全名
- [sudo] whl 的密码:密码是Ubuntu的密码
- Password:是开通服务时设置的密码,可以在访问凭证页面修改此密码
选定一个基础镜像
为简化构建镜像的难度,天池已准备了常用的Python基础镜像,可直接拉取使用
更多的基础镜像链接: https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586973.0.0.29242ea8eBqHh9&postId=67720
sudo docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/pytorch:1.7-cuda11.0-py3
构建镜像
- registry.cn-shanghai.aliyuncs.com:自己创建仓库的公网地址
- 3d-space:命名空间
- test:仓库名称
- :1.0:镜像版本号
- . :不可以省略
sudo docker build -t registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 .
推到远程仓库
- 版本号一定不能忘记写
sudo docker push registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0
本地测试
- 构建完可以先完成本地测试验证,正常后再推送
sudo docker run registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 sh run.sh
希望本文对大家有帮助,上文若有不妥之处,欢迎指正
分享决定高度,学习拉开差距
以上是关于Docker提交天池比赛流程的主要内容,如果未能解决你的问题,请参考以下文章