• 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"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    requirements.txt文件示例:

    glob
    tqdm
    
    • 1
    • 2

    run.sh文件示例:

    #!/bin/bash
    python main.py
    
    • 1
    • 2

    main.py文件示例:

    import glob
    
    print("hello tianchi.")
    files = glob.glob('/tcdata/*')
    print(files)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、打包镜像并提交

    登录阿里云Docker

    sudo docker login --username=hailei_cloud registry.cn-shanghai.aliyuncs.com
    
    • 1
    • 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
    
    • 1

    在这里插入图片描述

    构建镜像

    • registry.cn-shanghai.aliyuncs.com:自己创建仓库的公网地址
    • 3d-space:命名空间
    • test:仓库名称
    • :1.0:镜像版本号
    • . :不可以省略
    sudo docker build -t registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 .
    
    • 1

    在这里插入图片描述

    推到远程仓库

    • 版本号一定不能忘记写
    sudo docker push registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0
    
    • 1

    在这里插入图片描述

    本地测试

    • 构建完可以先完成本地测试验证,正常后再推送
    sudo docker run registry.cn-shanghai.aliyuncs.com/3d-space/test:1.0 sh run.sh
    
    • 1

    在这里插入图片描述
    希望本文对大家有帮助,上文若有不妥之处,欢迎指正

    分享决定高度,学习拉开差距

  • 相关阅读:
    阿里面试经验总结整理1
    【Java】多线程面试总结
    扩散模型原理和pytorch代码实现初学资料汇总
    【RTOS学习】单片机中的C语言
    【leetcode】【初级算法】【链表5】回文链表
    python:关于函数内 * 和 / 是什么意思?
    深度之眼Paper带读笔记GNN.08.GCN(下)
    C# winform用Installer-Project打包exe程序
    软件保护工具VMProtect将许可系统集成到应用程序(8):硬件锁定
    electron-updater
  • 原文地址:https://blog.csdn.net/qq_42078934/article/details/125489668