这几天在参加天池的一个比赛,看到赛题觉得和自己很相关,觉得可以搞一搞,仔细看看发现他的提交规则要用到docker,这我就蒙了,docker是啥,我一个小白,这不是搞事情嘛,所以就赶紧去查,查了好几天,终于有点眉目了,这里记录一下,证明我来过。

1、基本概念

然后是

2、基本操作  

docker安装教程

镜像的一些基本操作 

退出容器和进入容器

3、Dockerfile

好吧,我承认看完这些,我还是不知道怎样用我本地训练的模型制作镜像,然后上传到阿里云,所以我不得不接着研究Dockerfile文件,这又涉及到我知识的盲区了,哎,接着看吧。什么是dockerfile文件 我去,看完我有点蒙了,这不就是让我学一个缩减版的linux指令集,虽然指令少,但是时间更少呀,眼看比赛就要结束了,看来这次比赛我是拜拜了,先把docker学好吧,技术不行注定是要被欺负的。要是有个队友就好了。落泪。。。

4、实例练习(参考)

本来,阿里云给的指导里是先在code.aliyun.com上建立仓库,然后仓库里的Dockerfile建立镜像,但是这个仓库的上传文件大小不能超过10M,所以我只能在本地先建好镜像,然后上传了。具体的就是将模型放在Dockerfile文件一个目录下,就会自动移到容器里,再将改动更新到镜像。

根据实例,我讲一下这样在本地写Dockerfile文件,通过dockerfile生成镜像文件,然后上传阿里云的操作

  • 首先将你的Dockerfile文件写好放到一个目录下
  • 进入这个目录
  • terminal下运行
docker build -f Dockerfile -t myimage:1.0.0 .

从参考中可以看出,打开浏览器输入localhost:4000可以看到效果,说明你的容器运行成功了。接下来我就用上面的这个镜像提交到阿里云服务器上做一个演示。
查看镜像信息

如何查看自定义镜像内有什么东西 怎么查看镜像_上传

在阿里云的服务器上新建一个镜像仓库

如何查看自定义镜像内有什么东西 怎么查看镜像_上传_02

 

如何查看自定义镜像内有什么东西 怎么查看镜像_Dockerfile_03

填写信息建好之后可以看到, 刚开始阿里云上的镜像版本

如何查看自定义镜像内有什么东西 怎么查看镜像_docker_04

用接下来三条命令上传本地镜像到远程服务器

$ sudo docker login --username=tomorrow1210 registry.cn-shanghai.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/zhy_ali/test_images:[镜像版本号]
$ sudo docker push registry.cn-shanghai.aliyuncs.com/zhy_ali/test_images:[镜像版本号]

操作如图

如何查看自定义镜像内有什么东西 怎么查看镜像_docker_05

更新网页,可以看到阿里云服务器上已经有了一个镜像了

如何查看自定义镜像内有什么东西 怎么查看镜像_如何查看自定义镜像内有什么东西_06

 接下来就可以用这个镜像地址加版本号提交作品了。

到此,我的阿里云算法比赛告一段落,docker的学习也有了一定的进步,遗憾的是比赛时间用来学习docker,最终也没能取得理想的成绩,但是掌握了docker的一些技术,对我来说也是一种提高,已经不虚此行了。