Docker练习场

本篇记录学习使用Docker进行参赛结果的提交,并记录使用过程中容易遇到的一些常见的问题。
官方指导教程:《手把手超详细操作说明》

1 赛题介绍

赛题入口:link
在这里插入图片描述

2 Docker

1 安装 Docker 环境:

sudo apt-get update
sudo apt install docker.io

《Docker操作命令详解》

2 按官方指导教程:《手把手超详细操作说明》创建仓库。

3 制作自己的数据

建立一个做题的文件夹,并进入路径

sudo mkdir -p /home/tianchi_docker && cd /home/tianchi_docker

按照赛题要求创建相应文件

touch Dockerfile hello_world.py result.json run.sh

在创建好的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 中写好自己的做题的代码,注意:所给csv数据直接导入路径即可

以下是完整代码:

# coding:utf-8

import json
import csv

file_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

4 创建镜像并推送
创建镜像

docker build -t registry.cn-shanghai.aliyuncs.com/命名空间/仓库名称:版本号 上面创建好的文件夹路径

查看docker

sudo docker images

登录阿里云Docker Registry

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

将镜像推送到Registry

sudo docker push registry.cn-shanghai.aliyuncs.com/命名空间/仓库名称:版本号

3 提交结果

在左侧【提交结果】中填写推送的镜像路径、用户名和密码,即可提交。根据【我的成绩】中的分数和日志可以查看运行情况。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小屋*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值