一、安装docker并开通镜像云见下方链接:
https://tianchi.aliyun.com/competition/entrance/231759/tab/174?spm=5176.12586973.0.0.44703a71P2fuFU
二、创建docker python基础镜像见下方链接:
https://www.cnblogs.com/cocowool/p/make_your_own_base_docker_image.html
三、从现有基础镜像构建镜像(仅包含服务器命令创建方法)
注:以下可以 https://tianchi.aliyun.com/competition/entrance/231759/tab/174?spm=5176.12586973.0.0.44703a71P2fuFU “入门docker练习场“”为例:
1、拉取基础镜像文件:
docker pull <镜像名>:<版本号>
例:docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
2、准备所需文件:
创建文件夹,存放创建镜像所需文件。
必要文件:Dockerfile(固定名称),内容需包含源基础镜像名称和镜像内部路径设置,CMD为可选项。
3、创建镜像指令:
docker build -t <镜像名>:<版本号> .
例:docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
注:命令最后的 <.> 是构建镜像的路径,不可省略
四、运行镜像命令:
(1)CPU版镜像:docker run <参数> <镜像名>:<版本号>
例:交互式运行镜像:docker run -it <镜像名>:<版本号>
给容器挂载存储卷,挂载到容器的某个目录:docker run -v <容器外文件路径>:<容器中挂载部位路径> <镜像名>:<版本号>
(2)GPU版镜像:nvidia-docker run <镜像名>:<版本号>
注:docker run命令参数可见链接:https://www.cnblogs.com/liujunjun/p/12110106.html 或使用 docker run --help
五、docker镜像版本更新:
在运行docker镜像,构造容器后,镜像文件不会自动发生变更,如果需要根据容器运行结果更新或新建镜像文件,可以使用Dockerfile和docker build命令,但是重新构建镜像速度会比较慢,推荐在现有镜像基础上使用docker commit从容器中创建一个新镜像。
从容器新建镜像命令:docker commit -m "
注:当 <镜像名>:<版本号> 与要保存的容器所启动的镜像相同时,则覆盖原镜像进行更新,如果当前镜像库不存在,则创建新镜像。
六、宿主机与镜像(指定容器)间文件传输:
(1)从容器向宿主机拷贝文件:docker cp
(2)从宿主机向容器拷贝文件:docker cp <宿主机待拷贝文件路径>
注:在文件传输过程中,始终是容器与宿主机之间进行文件传输,对生成容器的源镜像不产生影响,因此在传输文件后,如需要根据变更的容器更新镜像,请使用docker commit 指令。
七、向镜像添加TAG与删除TAG:
(1)向镜像添加TAG:docker tag
(2)删除镜像TAG:docker rmi -f <镜像名>:<版本号>
注:镜像文件是只读文件,添加与删除TAG不影响镜像文件本身,仅相当于粘贴与丢弃标签,对存储的镜像内容没有实质性的改变,当某一image ID镜像所有TAG均被删除时,此镜像文件处于悬空状态。
八、向云端推送镜像:
(1)登录云端服务器:docker login --username=<用户名>
(2)推送命令:docker push <镜像名>:<版本号>
注:此时镜像名必须与云端docker仓库名相一致,因此,docker push常与docker tag配合使用。
九、查看当前路径下docker镜像与容器列表命令:
(1)查看所有镜像:docker images
(2)查看所有容器(运行中与已停止):docker ps -a
十、清理docker磁盘占用:
参考链接:https://www.jianshu.com/p/470e29801be2
十一、Alibaba Cloud Toolkit使用方法:
见链接:https://help.aliyun.com/product/29966.html?spm=a2c4g.11186623.6.540.d41a9173S1nCwL