如何利用dokcer提交我的比赛代码
运气很好进入了天池的一个复赛,但是复赛评测时需要提交docker镜像,捣鼓了一个晚上,终于搞清了整套的流程.由于晚上已经下定决心要早点睡觉,害怕明早就会忘记的我还是先把步骤记录下来.
1. 安装docker环境
2. 开通阿里云容器镜像服务
这个参考天池官方教程即可
3.重点
3.1 拉取一个python3的基本镜像到本地
docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
此时在命令行下敲击docker images应该会出现registry.cn-shanghai.aliyuncs.com/tcc-public/python这个镜像
3.2 在镜像内安装一些依赖的包
编写Dockerfile文件如下:
# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /
## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /
## 安装需要的依赖
RUN pip install --upgrade pip
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy pandas sklearn xgboost
## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]
之后所有的操作都和教程里一样
4. 另外的记录
除了直接在Dockerfile中声明创建新镜像时安装依赖,还可以进入registry.cn-shanghai.aliyuncs.com/tcc-public/python:3镜像对应的容器,在容器中安装完依赖后,将容器新打包成一个镜像.然后Dockerfile中的FROM改成来自这个新镜像即可.
具体的步骤参考这位博主的博客
如何利用dokcer提交我的比赛代码的更多相关文章
- 利用JS提交表单的几种方法和验证(必看篇)
第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <scr ...
- 【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)
[2017.5.4更新] 昨天曝出了两个比较热门的漏洞,一个是CVE-2016-10033,另一个则为CVE-2017-8295.从描述来看,前者是WordPress Core 4.6一个未经授权的R ...
- github如何提交自己修改的代码
当在github上发现别人项目有BUG,或者想要完善其功能的时候,该如何把自己的修改提交到项目中呢? 以logback为例 步骤: 1, fork一份logback代码到自己的仓库 进入github要 ...
- 利用Python进行异常值分析实例代码
利用Python进行异常值分析实例代码 异常值是指样本中的个别值,也称为离群点,其数值明显偏离其余的观测值.常用检测方法3σ原则和箱型图.其中,3σ原则只适用服从正态分布的数据.在3σ原则下,异常值被 ...
- git 提取某次提交所修改的代码
git 提取某次提交所修改的代码 应用场景 把分支A的某个功能抽到分支B中. 首先切换到分支B, 然后进行遴选(git cherry-pick). 如果没有冲突, 会自动合并然后使用原信息提交. 如果 ...
- 利用git提交代码
一.首先需要下载git 查看电脑是否安装git,打开终端,输入git,回车如果输出如下,则代表已安装了git 如果未安装,则会输出: 按照提示输入:sudo apt-get install git即可 ...
- Git-简单的利用SourceTree提交代码
解决办法: 小编也是新手,所以在使用SourceTree上面花了不少时间,好在简单的拉去远程代码,同步本地仓库代码搞定了.下面是步骤: 1.我们先去下载一个SourceTree然后打开. 2.下一步, ...
- Git-简单的利用SourceTree提交代码(转载)
http://www.cnblogs.com/shenyangxiaohuo/p/5239723.html
- git 利用hook 实现服务器自动更新代码
如何利用git的hook实现提交代码后自动更新? 因为个人开发经常需要提交代码,每次都需要连接服务器去pull代码,重启服务器就显得十分繁琐,因此github提供了一个时间钩子,用户push代码后可以 ...
随机推荐
- Ubuntu下makefile的简单使用
在Windows下,只需要简单的点击以下make,rebuild即可.而在Linux下,这样的IDE环境并没有提供,难道必须每一步都执行一遍吗?比较ok的做法自然是能够利用批处理脚本来进行操作了,这样 ...
- Qt下Eigen矩阵函数库的添加
第1步: 下载一个Eigen文件包,在官网下即可: http://eigen.tuxfamily.org/index.php?title=Main_Page 第2步: 用Qt随便建一个GUI工程,在. ...
- Python 之redis操作
Redis 是一个高性能的key-value数据库,是一种非关系型的数据库.有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不 ...
- Zabbix3.4搭建过程
一.安装之前把firewall 和 selinux关闭. 二.具体的搭建过程可以看zabbix官网的文档,www.zabbix.com(有中文的文档)注意如果复制官网的命令直接使用的话,不会安装mys ...
- MVVM的理解和Vue的生命周期
一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...
- Java8新特性一点通 | 回顾字符转日期&JoinArray使用
StringToDate日期转换 Join Array使用 StringToDate日期转换 Convert string to date in ISO8601 format 利用LocalDate. ...
- Java的变量与常量
常量: 在程序运行期间,固定不变得量. 常量的分类: 字符串常量:凡是用双引号引起来的部分,叫做字符串常量.例如:“abc”.“Hello”.“123”. 整数常量:直接写上的数字,没有小数点.例如: ...
- webpack入门系列1
一.什么是webpack?为什么要使用它? Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 为什么我们要使用它呢?因 ...
- 使用信号管理nginx的父子进程
master进程 通过CHLD监控worker进程,worker异常退出,通过CHLD信号拉起worker进程. 接收信号 TERM,INT信号表示立刻停止worker进程 QUIT信号表示优雅的停止 ...
- JAVA中如何获取变量的类型
JAVA中如何获取变量的类型? package xiya; public class Demo { public static void main(String[] args) { String ty ...