阿里云天池 Docker练习场(入门赛) 操作步骤

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云天池 Docker练习场(入门赛) 操作步骤相关的知识,希望对你有一定的参考价值。

problem

solution

1、搭建本地docker环境

Docker是什么

  • Docker 属于Linux 容器的一种封装,提供简单易用的容器使用接口。
  • docker只能安装在Linux环境下。

Linux的Docker安装

  • centos7+宝塔面板

Windows下的Docker安装

  • WSL2+docker desktop

2、搭建阿里云docker环境

首先进入阿里云容器镜像仓库,注册一个免费的个人版实例
https://cr.console.aliyun.com/

进入实例以后,切换标签页到命名空间,创建地址唯一的命名空间

然后切换到镜像仓库,创建一个镜像仓库。
注意根据赛题要求,选择地域为上海。下一步后选择本地仓库,完成创建。

创建后点击管理进入页面,即可获得公网地址

3、在本地完成题目

创建一个项目文件夹(命名随意),在此文件夹下创建以下三个文件。

  • Dockerfile文件

    # Base Images
    ## 从天池基础镜像构建
    FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
     
    ## 把当前文件夹里的文件构建到镜像的根目录下
    ADD . /
     
    ## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
    WORKDIR /
     
    ## 镜像启动后统一执行 sh run.sh
    CMD ["sh", "run.sh"]
    
  • run.sh(注意需要有可执行权限)

    python test.py
    
  • test.py(题目提交文件)

    import csv
    import json
     
    sum = 0
    temp = []
    with open('./tcdata/num_list.csv') as f:
        f_csv = csv.reader(f)
        for row in f_csv:
            sum += int(row[0])
            temp.append(int(row[0]))
     
    temp.sort(reverse=True)
     
    if len(temp) > 10:
        temp = temp[:10]
    result = 
        'Q1': 'Hello world',
        'Q2': sum,
        'Q3': temp
    
     
    f = open('result.json', 'w', encoding='utf-8')
    json.dump(result, f, indent=4, ensure_ascii=False)
     
    import csv
    import json
    sum = 0
    temp = []
    with open('./tcdata/num_list.csv') as f:
            f_csv = csv.reader(f)
            for row in f_csv:
                    sum += int(row[0])
                    temp.append(int(row[0]))
     
    temp.sort(reverse=True)
     
    if len(temp) > 10:
            temp=temp[:10]
    result = 
            'Q1':'Hello world',
            'Q2':sum,
            'Q3':temp,
    
    f = open('result.json','w')
    json.dump(result,f,indent=4,ensure_ascii=False)
    
  • 本地测试
    在当前目录创建tcdata文件夹,在其中创建num_list.csv文件
    num_list.csv

    12
    213
    413
    55
    12
    12
    44
    5
    1
    8
    987
    3
    3
    

    执行命令./run.shpython3 test.py后可以获得以下文件
    result.json

    
        "Q1": "Hello world",
        "Q2": 1768,
        "Q3": [
            987,
            413,
            213,
            55,
            44,
            12,
            12,
            12,
            8,
            5
        ]
    
    

4、 提交文件到阿里云

(1)进入刚才的项目文件夹,登录阿里云Docker Registry(账户密码为第2步创建时输入的)

docker login --username=你的用户名 registry.cn-shanghai.aliyuncs.com

(2)开始构建Dockerfile

docker build -t registry.cn-shanghai.aliyuncs.com/命名空间/你的仓库:版本号 .
#注意这里有  .

#registry.xxxx其实就是公网地址,然后后面跟着(  :版本号   . )

(3)上传docker镜像

docker push registry.cn-shanghai.aliyuncs.com/命名空间/你的仓库:版本号
# 这里没有 .

5、 去比赛页面提交

镜像路径为

registry.cn-shanghai.aliyuncs.com/命名空间/你的仓库:版本号
# 没有.

以上是关于阿里云天池 Docker练习场(入门赛) 操作步骤的主要内容,如果未能解决你的问题,请参考以下文章

阿里云天池赛题解析深度学习篇重磅发布!

阿里云天池赛题解析深度学习篇重磅发布!

阿里云天池赛题解析——深度学习篇重磅发布!

天池NLP大赛来了!

阿里天池实验室简明教程以及Docker安装使用[一]

阿里云启动天池电力AI大赛是怎么回事?