天池Docker练习场新手入门全过程记录
1.安装Docker-desktop
这里以win10家庭版为例。
首先,win10家庭版需要添加Hyper-V(专业版、企业版等不需要)和WSL,可参考博客link。
接下来,去docker官网下载Windows的安装包link,
双击开始安装,一路默认就好,安装后重启电脑。
双击桌面图标打开docker,并打开cmd命令行窗口。
其他系统安装Docker可参考视频link
2.为Docker配置阿里云加速地址
在cmd命令行窗口输入:
docker --version
查看安装的Docker版本。
测试Docker的基本功能,以pull为例。
docker pull hello-world
测试成功。
如果出现报错error during connect: This error may indicate that the docker daemon is not running.
则在cmd中输入
cd "C:\Program Files\Docker\Docker"
DockerCli.exe -SwitchDaemon
参考link
下面配置阿里云加速地址
右键右下角Docker的小图标,点击settings
,
将红框内地址替换为你的阿里云加速器地址(阿里云——容器镜像服务——镜像加速器——加速器地址)
点击Apply&Restart
,重新启动DockerDesktop即可。
3.创建阿里云镜像仓库
参考“手把手教程”link中的二、创建镜像仓库
。
4.准备提交程序包
该Docker入门比赛中自己所需脚本共有4个:Dockerfile
、hello_world.py
、run.sh
、result.json
。
其中,Dockerfile和run.sh参考“手把手教程”,hello_world.py为自己的python程序,result.json为程序输出的结果json文件(推送时本地还没有生成该文件)。
注:“手把手”中的Dockerfile没有给python配置第三方库,如果python脚本中要用各种包如numpy、pandas等需要自己修改Dockerfile,可参考博客link中的配置。
5.power shell构建镜像并推送
5.1 本地登录阿里云镜像库
docker login --username=自己账号名 registry.cn-shanghai.aliyuncs.com
(查看 阿里云——容器镜像服务——镜像仓库——对应仓库名点击管理
,操作指南,登录阿里云Docker Registry(windows系统去掉sudo))
登陆成功。
5.2 构建镜像
执行
docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
注:registry.~~~
是上面创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0
为自己指定的版本号,用于区分每次build的镜像。最后的.
是构建镜像的路径,不可以省掉。
build成功。
5.3 测试脚本
执行
docker image ls
查看镜像编号
CPU镜像执行:
docker run xxx sh run.sh
GPU镜像执行:
nvidia-docker run xxx sh run.sh
测试脚本运行(xxx是imageID的前三位)。
(因为本地没有"/tcdata/num_list.csv"这个数据所以这里报错(测试python脚本时自己在本地随便写个csv测试),提交结果时直接用阿里后台的数据)
5.4 推送到镜像仓库
docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
如果这步出错,可能你没有登录,按照仓库里描述操作登录即可。
6.比赛页面提交结果
参考“手把手教程”中的,四、提交验证运行结果
即可。
至此,万里长征成功了第一步~