Docker常用基础命令

一、安装docker并开通镜像云见下方链接:

Docker desktop Home - Docker
【入门】Docker练习场常见问题-天池大赛-阿里云天池 (aliyun.com)


二、创建docker python基础镜像见下方链接:

创建自己的Docker基础镜像 - Cocowool - 博客园 (cnblogs.com)
Docker Dockerfile | 菜鸟教程 (runoob.com)


三、从现有基础镜像构建镜像(仅包含服务器命令创建方法)

以下可以 Docker入门练习场 为例:

1、拉取基础镜像文件:

docker pull image:version

# docker pull registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

2、准备所需文件:

创建文件夹,存放创建镜像所需文件。

必要文件:Dockerfile(固定名称),内容需包含源基础镜像名称和镜像内部路径设置,CMD为可选项。


# Base Images

# Example: Construct from tianchi  base image

FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3

# Add current workdir fies to docker root path

ADD . /

# Determine default workdir as root path (you need to put all files in the fold)

WORKDIR /

# The command will be execute when container running

CMD ["bash", "run.sh"]

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命令参数可见链接:docker run 命令参数 - Isolates - 博客园 (cnblogs.com)或使用 docker run --help


五、docker镜像版本更新:

在运行docker镜像,构造容器后,镜像文件不会自动发生变更,如果需要根据容器运行结果更新或新建镜像文件,可以使用Dockerfile和docker build命令,但是重新构建镜像速度会比较慢,推荐在现有镜像基础上使用docker commit从容器中创建一个新镜像。

从容器新建镜像命令:

docker commit -m "" -a ""    <镜像名>:<版本号>

注:当 <镜像名>:<版本号> 与要保存的容器所启动的镜像相同时,则覆盖原镜像进行更新,如果当前镜像库不存在,则创建新镜像。


六、宿主机与镜像(指定容器)间文件传输:

(1)从容器向宿主机拷贝文件:

docker cp :<待拷贝文件在容器中的路径> <宿主机保存文件路径>

(2)从宿主机向容器拷贝文件:

docker cp <宿主机待拷贝文件路径> :<容器保存文件路径>

注:在文件传输过程中,始终是容器与宿主机之间进行文件传输,对生成容器的源镜像不产生影响,因此在传输文件后,如需要根据变更的容器更新镜像,请使用docker commit 指令。

docker volume相关docker volume - (jianshu.com)


七、向镜像添加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磁盘占用:

参考链接:Docker磁盘占用与清理问题 - (jianshu.com)


十一、Alibaba Cloud Toolkit使用方法:

见链接:Alibaba Cloud Toolkit (aliyun.com)

你可能感兴趣的:(Docker常用基础命令)