阿里云天池 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.csv12 213 413 55 12 12 44 5 1 8 987 3 3
执行命令
./run.sh
或python3 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练习场(入门赛) 操作步骤的主要内容,如果未能解决你的问题,请参考以下文章