Windows安装docker并上传阿里云镜像
最近由于参加阿里云的时间序列预测比赛,因此研究了如何利用docker提交阿里云的镜像源。
文章目录
看前必读
此篇文章的阅读顺序为:
(1)安装Docker。
(2)“1.终端命令链接”中的《win10系统手把手教你docker练习场满分》文章,可以仅阅读如何注册阿里云镜像部分,以及拖动到页面最下方下载附件。
(3)使用终端命令提交Docker或安装IntelliJ IDEA然后提交Docker,体验一遍提交Docker的流程。
(4)研究(2)中下载的附件内容,如Dockerfile、run.sh中的代码含义,可以以这些代码作为模板,对于自己的项目稍作修改即可。
一、安装Dcoker
1.windows10 企业版
由于windows10企业版自带虚拟机,因此安装起来较为方便。首先开启虚拟机Hyper-V,具体方法可参考:企业版开启Hyper-V
开启后自行下载即可,docker下载链接:Docker最新版下载地址
2.windows10 家庭版
windows10 家庭版无自带的虚拟机,若直接安装docker不成功可自行百度下载一个hyper-v虚拟机。安装后下载docker即可,建议用迅雷或其他下载器下载会更快。
注:家庭版也可直接安装docker试试,博主的电脑直接安装成功了,若直接安装运行时提示WLS2报错,点击报错链接安装WLS2即可正常运行。
二、docker连接阿里云
1.终端命令连接
安装后运行无问题即可链接阿里云镜像,当右下角小鲸鱼图标白色且不动后即是正常运行。由于docker版本的更新,最新版不再含有docker tool工具,因此需要自己打开cmd命令终端输入后续build,push等docker代码。
建议第一次使用docker提交的小伙伴先进入阿里云的学习赛——Docker练习场,链接:【入门】Docker练习场
同时可以参考这篇文章提交:《win10系统手把手教你docker练习场满分》
注:建议先用最下面的附件提交一次试试看,成功后再研究前面的代码内容。
1.1一些注意事项
在此仅写一些个人的理解与碰到的问题帮助大家,个人对于Docker的镜像简单的理解为每个参赛队伍所使用的编程语言可能不相同,相同的编程语言也会有不同的环境,因此方便主办方运行参赛选手的代码才需要选手把自己所使用的编程语言以及环境统一打包上传到平台,这才有了镜像。
(1)docker的运行流程大概为先读取Dockerfile中的代码,通过这个代码调用requirement.txt下载依赖环境和run.sh来最终运行.py的代码。
(2)Dockerfile无后缀名,Dockerfile和run.sh都可以先用txt写好后直接更改后缀名。这两个文件的代码都是写在文件内,不是cmd终端。
(3)在最后提交过程中需先登录阿里云镜像账号,登陆时需要输入密码,在输入过程中密码不会显示,放心输入后回车即可。
(4)公网地址可以直接复制镜像的公网地址,版本号在公网地址后添加即可。例如:registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:2.0,其中registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit为公网地址,:2.0为版本号需自行添加。
(5)提交后可登陆阿里云镜像管理查看是否push成功,成功后需报名参赛即可提交答案,提交时注意输入账号密码的正确。提交后等待一段时间即可查看结果(会有邮件提示)
注:第一次提交都比较慢,耐心等待即可。
2.利用 IntelliJ IDEA连接(推荐)
2.1配置IntelliJ IDEA
在配置IntelliJ IDEA之前请先阅读本文章1.终端命令连接的内容
下载IntelliJ IDEA:IntelliJ IDEA下载地址下载后根据链接内的提示安装Cloud Toolkit。
安装Cloud Toolkit后需要获取阿里云的AccessKey,获取地址:阿里云AccessKey
按照提示输入AccessKey:
1.在IntelliJ IDEA菜单栏中选择File > Settings,在Settings对话框左侧的导航栏中选择Alibaba Cloud Toolkit > Accounts。
2.在Accounts界面中填入获取的AccessKey ID和AccessKey Secret,并单击OK。
设置Docker环境:
1.在IntelliJ IDEA顶部菜单栏单击Tools > Alibaba Cloud > Preferences…。
2.在Settings对话框的左侧导航栏中选择Alibaba Cloud Toolkit > Docker。
3.在 Docker 界面中设置可连接的Docker环境,包括本地和远程两种方式,在此用本地模式即可。
4.勾选TCP Connection,然后在URI右侧文档框输入本地Docker的URI,如http://127.0.0.1:2375,然后单击OK。建议输入完URI后点击test connection测试一下是否成功连接。
至此IntelliJ IDEA配置结束
2.2利用Registry提交Docker
打开IntelliJ IDEA,并打开所需提交的文件夹,例如上一节下载的附件文件。在此可以更方便的管理和修改Dockerfile等,因此更推荐用此方法push镜像。
右键点击文件夹,如下图所示:
滑动到最下方的Alibaba Cloud > Deploy to Registry/Kubernete > Deploy to Registry,如下图所示:
无需设置其他东西,仅需找到红框内自己镜像对应的位置即可。如下图所示:
选中Name下第一行的内容即是自己的镜像仓库,点击Apply然后点击Run即可push镜像。下次提交文件即可一键完成。
注:第一次提交都比较慢,耐心等待即可。
2.3 IntelliJ IDEA终端命令连接
若因为种种原因无法使用2.2内的连接方法,可以尝试此方法,与第一节内容相同,在此需要修改的部分为在当前project窗口下点击IntelliJ IDEA自带的Terminal,输入docker代码即可。Terminal在图示最下方。
提交docker代码:
## docker登陆(push镜像需要登陆,服务器地址为赛事要求的,这里以上海为例):
docker login --username=你自己的用户名 registry.cn-shanghai.aliyuncs.com
## 不要忘记加.
## 公网地址上述已经提到过
docker build -t 公网地址/版本号 .
## 构建完成后可先验证是否正常运行,正常运行后再进行推送。
CPU镜像:docker run 公网地址/版本号 sh run.sh
GPU镜像:nvidia-docker run 公网地址/版本号 sh run.sh
## 推送到镜像仓库,如果出错,可能没登录
docker push 公网地址/版本号
此处有疑问的可以翻看第一节的内容。
注:第一次提交都比较慢,耐心等待即可。
三、Docker的补充内容
3.1 加速网址
若上传Docker到阿里云太慢,可尝试加入阿里云所提供的加速器。
右键Docker图标,点击Settings,点击Docker Engine,在registry-mirrors下添加网址"https://5w5jh673.mirror.aliyuncs.com"即可,如下图所示:
3.2 Docker默认镜像拉取位置更改
随着镜像拉取的增多,Docker默认安装位置储存的镜像也会越多,而一般Docker都会默认储存在C盘,因此需要更改镜像储存位置为C盘释放出更多空间。
方法可参考:Windows 10 将 Docker Desktop for Windows(WSL 2 方式)文件存储移出系统盘放置到其它目录
总结
折腾了一整天总算是弄完了Docker的内容,如果有疑问或者有错误的内容,请在下方评论处留言,谢谢各位!