Docker练习初学者的全程记录(Windows10)

快速浏览

    • 开场白
    • 安装 Docker 环境
    • 开通阿里云容器镜像服务
    • 构建镜像并推送
    • 提交验证运行结果
    • Reference

开场白

Docker练习初学者的全程记录(Windows10)_第1张图片
这次是以阿里天池的一个入门比赛“【入门】Docker练习场”为例分享,实际上内容是我之前写过的并分享在天池的。不过我突然发现那一篇没有显示出我的截图,不懂是什么原因,所以就在此再分享一下。

Build, Ship and Run Any App, Anywhere.
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

首先,官方有一个“手把手超详细操作说明”,我觉得的确是很详细了。因此,我的内容就是在此基础上增改的。其次,我对其了解也不是很深入,只是因为偶然的需求所以就当作一个工具简单学习了一下。最后,介绍下背景——我使用的是win10专业版。
Docker练习初学者的全程记录(Windows10)_第2张图片

安装 Docker 环境

各类操作系统下安装命令略有不同,以Windows10专业版为例。其它版本也可以参考史上最全Docker环境安装指南-让安装docker简单到爆尝试。
Docker练习初学者的全程记录(Windows10)_第3张图片

  1. 下载安装包(下载可能有点慢) (https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe)
  2. 按照安装向导next
  3. 在开始菜单搜索Docker打开

ps:细节配置, 可参考这个链接(https://docs.docker.com/docker-for-windows/#docker-settings-dialog)

安装了环境就是成功的一半 (ง •_•)ง

开通阿里云容器镜像服务

阿里云容器镜像服务链接:https://www.aliyun.com/product/acr?
免费开通镜像托管,本次练习任务请将仓库地域选择上海。建议设置私有仓库,并一定牢记仓库密码,后续提交需要使用。

开通后进入镜像仓库https://cr.console.aliyun.com
Docker练习初学者的全程记录(Windows10)_第4张图片
切换标签页到“命名空间”,创建地址唯一的命名空间,即点击右上角的“创建命名空间”后自定义“命名空间”。
Docker练习初学者的全程记录(Windows10)_第5张图片
Docker练习初学者的全程记录(Windows10)_第6张图片
再回到“镜像仓库”点击“创建镜像仓库”,根据任务/比赛要求选择对应的地域(本次练习选择上海),其他的按照自己需求选择或填写。
Docker练习初学者的全程记录(Windows10)_第7张图片

选择代码源为“本地仓库”,点击“创建镜像仓库”。

Docker练习初学者的全程记录(Windows10)_第8张图片

点击“管理”,可查看仓库的基本信息,以及登录、拉取、推送等简单操作的指南。

Docker练习初学者的全程记录(Windows10)_第9张图片
注意留意“操作指南”的“3. 将镜像推送到Registry”,$ sudo docker login这一行需要复制,后续需要登陆。

构建镜像并推送

新建一个文件夹(我是在D盘新建的文件夹test)用于存放这次任务镜像所需的文件,文件夹中内容如图,其中hello_world.py中是各位自己的代码部分,Dockerfile配置文件,run.sh,result.json。
Docker练习初学者的全程记录(Windows10)_第10张图片
ps:“/tcdata/num_list.csv”这个系统会自动创建,我们可以不做操作,只是读取的时候设置一下就行。比如这样:

filename =  "./tcdata/num_list.csv"  
with open(filename, 'r') as f:  
   text=f.readlines()  
num_list = [int(x.strip()) for x in text
#接下来对`num_list`操作得到我们想要的结果。

Dockerfile配置文件(Dockerfile中命令皆大写)
Docker练习初学者的全程记录(Windows10)_第11张图片

# Base Images
## 从天池基础镜像构建
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

## 把当前文件夹里的文件构建到镜像的根目录下
ADD . /

## 指定默认工作目录为根目录(需要把run.sh和生成的结果文件都放在该文件夹下,提交后才能运行)
WORKDIR /

## 镜像启动后统一执行 sh run.sh
CMD ["sh", "run.sh"]

run.sh
Docker练习初学者的全程记录(Windows10)_第12张图片

python hello_world.py

ps:我的Dockerfile和run.sh是通过新建文本然后复制粘贴“手把手超详细操作说明参考内容”,再修改后缀的。在涉及某些库的需求我偶尔也会修改“Dockerfile配置文件”,直接从阿里云的镜像下载库还是十分方便/快速的。
Docker练习初学者的全程记录(Windows10)_第13张图片
接下来在服务器上直接操作即可。CMD 命令提示符下删除容器可能失败,可切换至 PowerShell 中执行。我直接使用了PowerShell 。
先点击安装好的“Docker Desktop”,等待它“running”。
Docker练习初学者的全程记录(Windows10)_第14张图片
打开PowerShell开始操作咯!!!把下面一行复制到PowerShell然后敲回车。

docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
#查看镜像列表
docker images

在这里插入图片描述
1.复制“操作指南”的“3. 将镜像推送到Registry”,$ sudo docker login这一行。$ sudo就不用出现了。然后输入密码,此时只需要按顺序输入密码再敲回车就可以(输入密码时不会有光标移动提示你已经输入)。
在这里插入图片描述
2.复制粘贴docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .并按下回车。
注意:registry.~~~是在“开通阿里云容器镜像服务”创建仓库的公网地址,用自己仓库地址替换。地址后面的:1.0为自己指定的版本号,用于区分每次build的镜像。最后的.是构建镜像的路径,不可以省掉。
3.推送到镜像仓库,复制粘贴 docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0并按下回车。
注意:registry.~~~是在“开通阿里云容器镜像服务”创建仓库的公网地址,用自己仓库地址替换。如果这步出错,可能你没有登录,记得要复制“操作指南”的“3. 将镜像推送到Registry”,$ sudo docker login这一行。

#Doker 常用命令
docker images#查看镜像列表
docker rmi image-id#删除单个镜像

第一次推送会比较耗时,可以休息一会了~o( ̄▽ ̄)d

提交验证运行结果

在左侧【提交结果】中填写推送的镜像路径、用户名和密码,即可提交。根据【我的成绩】中的分数和日志可以查看运行情况。
Docker练习初学者的全程记录(Windows10)_第15张图片
Docker练习初学者的全程记录(Windows10)_第16张图片
如果碰到出现“ERROR Running error,Please check the log”可以点击“查看日志”查看错误信息,如果看不明白可以加入官方群向各位大佬和工作人员请教。
Docker练习初学者的全程记录(Windows10)_第17张图片
Docker练习初学者的全程记录(Windows10)_第18张图片

Reference

  1. 入门比赛“【入门】Docker练习场”
  2. “手把手超详细操作说明”
  3. Windows 下删除 Docker 容器的方法
  4. 史上最全Docker环境安装指南-让安装docker简单到爆
  5. 容器镜像服务快速入门
  6. docker复现代码记录

你可能感兴趣的:(一些基础分享)