天池 Docker 练习场比赛详细攻略+代码
文章目录
- 1. 比赛内容
- 2. 编写代码
- 3. 构建镜像并推送
本文将详细讲述天池 Docker 练习场的比赛流程,并贴出代码以供参考
1. 比赛内容
题目:
- 输出 Hello world
- 计算
/tcdata/num_list.csv
中一列数字的总和 - 在
/tcdata/num_list.csv
文件中寻找最大的 10 个数,从大到小生成一个 List
输出结果格式:
{ "Q1":"Hello world", "Q2":sum值, "Q3":[top10_list]
}
注意事项:
- 输出 Hello world 就是将
"Hello world"
直接写入result.json
中就行 /tcdata/num_list.csv
:提交镜像后评分系统中会有这个文件,所以在编程时直接引用就好
2. 编写代码
下面以阿里云 Centos 7 为例
创建文件夹
mkdir -p /data/tianchi_docker_test && cd /data/tianchi_docker_test
在 tianchi_docker_test
文件夹中创建文件
touch Dockerfile hello_world.py result.json run.sh
赋予权限
chmod 755 *
Dockerfile
中,直接复制模版就行
# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
hello-world.py
中
# coding:utf-8import json
import csvfile_name = '/tcdata/num_list.csv'
data = []# 第一题,直接写入 Hello world
result = {"Q1": "Hello world","Q2": 0,"Q3": []
}# 第二题,求和
with open(file_name, 'r', encoding='utf-8') as f:reader = csv.reader(f)for row in reader:data.append(int(row[0]))sum = sum(data)
result['Q2'] = sum# 第三题
result['Q3'] = sorted(data, reverse=True)[0:10]# 保存到 result.json
with open('result.json', 'w', encoding='utf-8') as f:json.dump(result, f)
run.sh
中
python hello-world.py
3. 构建镜像并推送
登录阿里云容器镜像服务
docker login --username=用户名@aliyun.com registry.cn-shanghai.aliyuncs.com
构建镜像(注意:后面有个 .
,表示使用当前目录下的 Dockerfile 构建镜像)
docker build -t registry.cn-shanghai.aliyuncs.com/命名空间/镜像名称:版本号 .
推送镜像
docker push registry.cn-shanghai.aliyuncs.com/命名空间/镜像名称:版本号
提交结果,镜像路径中填写:
registry.cn-shanghai.aliyuncs.com/命名空间/镜像名称:版本号
OK,good luck !
天池 Docker 练习场比赛详细攻略+代码相关推荐
- Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing)
Competition--AI:国内外人工智能比赛平台以及竞赛类型.竞赛题目.举行时间等之详细攻略(最全+ing) tips (1).可以在各大比赛平台指定的讨论区,或者github网站上,找到历届选 ...
- BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...
- Docker:Docker的简介、安装、使用方法之详细攻略
Docker:Docker的简介.安装.使用方法之详细攻略 目录 Docker的简介 0.1.知乎对Docker的理解-Docker就是集装箱 0.2.简书对Docker的理解-Docker带来标准化 ...
- Python语言学习:python语言代码调试—异常处理之详细攻略
Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...
- Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色、编辑器内代码注释区域的颜色、编辑器内的Python Interpreter等)之详细攻略
Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色.编辑器内代码注释区域的颜色.编辑器内的Python Interpreter等)之详细攻略 目录 ...
- 编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略
编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略 ...
- 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略
编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 目录 字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 ...
- ML之FE:特征工程中数据缺失值填充的简介、方法、全部代码实现之详细攻略
ML之FE:特征工程中数据缺失值填充的简介.方法.全部代码实现之详细攻略 目录 特征工程中数据缺失值填充的简介.方法.经典案例
- Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略
Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...
最新文章
- IOS开发 使用CGContextRef绘制文字时的设置
- 来人呐,有人又要抢钱啦!
- 【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )
- ASP BASE64 跨防火墙
- Microsoft Office PowerPoint 2020中文版
- xamarin ios html5 video.js 无法播放
- [JAVA基础类库] Objec类
- python读写磁盘扇区数据_C++-如何直接读取Windows磁盘扇区的数据?
- 微信小程序 - 基础 - 003 - WEUI - 基本表单组件 - form - 页面数据提交和获取 - 01
- 微信小游戏凭什么拿走开发者 70% 的日流水?
- go语言多态接口样例
- H3CSE20200603班-SSL V*N
- 优秀的Git客户端:Tower for mac
- Android开发之EditText属性详解
- 计算机打字皮肤怎么退出,使用搜狗输入法电脑版中设置快捷键更换皮肤的方法...
- 互联网创业赚钱规则,彻底释放自己的价值吧!丨国仁网络
- 如何云储存服务实现视频存储
- 制作标准1寸和2寸照片方法
- 【从饮水机到名人堂之c语言】操作符详解(1)
- 第一次用计算机证明的数学定理是,勾股定理是一个基本几何定理,是人类早期发现并证明的重要数学定理之一,用代数思想解决几何...
热门文章
- Download the android source from china mirrors
- python+云仓管理系统 毕业设计-附源码151458
- SV绿皮书笔记(五)
- 以梦为马,不负韶华!
- 2021-07-28 2021年A特种设备相关管理(锅炉压力容器压力管道)免费试题及A特种设备相关管理(锅炉压力容器压力管道)证考试
- 2022-2028年中国石斛行业市场研究及前瞻分析报告
- Yeti雪人计划:纯IPv6域名根服务器系统试验床
- 分辨率,P与K的区别
- 记录小白通过TCP/IP协议实现远程操作机械手臂
- 翻牌游戏如何打乱牌面java_家长专栏提高儿童记忆力的游戏训练