文章目录

  • 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 练习场比赛详细攻略+代码相关推荐

  1. Competition——AI:国内外人工智能比赛平台以及竞赛类型、竞赛题目、举行时间等之详细攻略(最全+ing)

    Competition--AI:国内外人工智能比赛平台以及竞赛类型.竞赛题目.举行时间等之详细攻略(最全+ing) tips (1).可以在各大比赛平台指定的讨论区,或者github网站上,找到历届选 ...

  2. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

  3. Docker:Docker的简介、安装、使用方法之详细攻略

    Docker:Docker的简介.安装.使用方法之详细攻略 目录 Docker的简介 0.1.知乎对Docker的理解-Docker就是集装箱 0.2.简书对Docker的理解-Docker带来标准化 ...

  4. Python语言学习:python语言代码调试—异常处理之详细攻略

    Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...

  5. Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色、编辑器内代码注释区域的颜色、编辑器内的Python Interpreter等)之详细攻略

    Python的IDE之PyCharm:PyCharm的使用技巧图文教程(修改Pycharm默认风格颜色.编辑器内代码注释区域的颜色.编辑器内的Python Interpreter等)之详细攻略 目录 ...

  6. 编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略

    编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略 ...

  7. 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略

    编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 目录 字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 ...

  8. ML之FE:特征工程中数据缺失值填充的简介、方法、全部代码实现之详细攻略

    ML之FE:特征工程中数据缺失值填充的简介.方法.全部代码实现之详细攻略 目录 特征工程中数据缺失值填充的简介.方法.经典案例

  9. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

最新文章

  1. IOS开发 使用CGContextRef绘制文字时的设置
  2. 来人呐,有人又要抢钱啦!
  3. 【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )
  4. ASP BASE64 跨防火墙
  5. Microsoft Office PowerPoint 2020中文版
  6. xamarin ios html5 video.js 无法播放
  7. [JAVA基础类库] Objec类
  8. python读写磁盘扇区数据_C++-如何直接读取Windows磁盘扇区的数据?
  9. 微信小程序 - 基础 - 003 - WEUI - 基本表单组件 - form - 页面数据提交和获取 - 01
  10. 微信小游戏凭什么拿走开发者 70% 的日流水?
  11. go语言多态接口样例
  12. H3CSE20200603班-SSL V*N
  13. 优秀的Git客户端:Tower for mac
  14. Android开发之EditText属性详解
  15. 计算机打字皮肤怎么退出,使用搜狗输入法电脑版中设置快捷键更换皮肤的方法...
  16. 互联网创业赚钱规则,彻底释放自己的价值吧!丨国仁网络
  17. 如何云储存服务实现视频存储
  18. 制作标准1寸和2寸照片方法
  19. 【从饮水机到名人堂之c语言】操作符详解(1)
  20. 第一次用计算机证明的数学定理是,勾股定理是一个基本几何定理,是人类早期发现并证明的重要数学定理之一,用代数思想解决几何...

热门文章

  1. Download the android source from china mirrors
  2. python+云仓管理系统 毕业设计-附源码151458
  3. SV绿皮书笔记(五)
  4. 以梦为马,不负韶华!
  5. 2021-07-28 2021年A特种设备相关管理(锅炉压力容器压力管道)免费试题及A特种设备相关管理(锅炉压力容器压力管道)证考试
  6. 2022-2028年中国石斛行业市场研究及前瞻分析报告
  7. Yeti雪人计划:纯IPv6域名根服务器系统试验床
  8. 分辨率,P与K的区别
  9. 记录小白通过TCP/IP协议实现远程操作机械手臂
  10. 翻牌游戏如何打乱牌面java_家长专栏提高儿童记忆力的游戏训练