🐋Docker常用命令-精简版
以下内容按照上文图示进行展开,此文适合懂得Docker简单使用的一些同学,所以对对应的用法不做过多的介绍。
基础命令
# 显示docker的基本信息 docker version # 系统信息,镜像和容器的数量 docker info
镜像
镜像拉取:docker pull
# 搜索镜像 docker search 镜像名称 # 拉取镜像,不加版本默认是last最新版,版本来要来自于官网的镜像库,否则会找不到 docker pull 镜像名称[:版本] # 查看所有镜像 docker images
镜像删除
# 查看所有镜像 docker images # 删除一个 可以通过名称,-f 参数表示强制删除,即无需确认就删除镜像,如果该镜像正在被使用,也会被强制删除。 docker rmi -f 9cfcce23593a # 删除多个 用空格分隔id docker rmi -f id id id # 删除所有,images -aq就是查所有镜像id,从而递归删除 第一种(强制删除):docker rmi -f $(docker images -aq) 第二种(非强制删除):docker rmi `docker images -q`
镜像的保存和加载
save命令: 该命令用于将一个或多个镜像保存到一个文件中。使用该命令时,可以指定需要保存的镜像名称和标签。 #用法 docker image save -o 保存的文件名 IMAGE[:tag] [IMAGE...] -o, --output:指定保存的文件路径和名称 #例子: docker image save -o tomcat9-me.tar tomcat:9.0 load命令: 该命令用于从文件加载一个或多个镜像。 使用该命令时,需要指定从哪个文件中加载镜像。 #用法 docker image load [OPTIONS] -i, --input:指定加载的文件路径和名称。 # 例子 docker image load -i tomcat9-me.tar
容器
根据镜像启动容器
docker run [可选参数] 镜像名称[:版本] # 参数说明 --name <container name> 为容器指定一个名称。 -d 后台方式运行 -it 以交互模式运行容器,通常与/bin/bash或/bin/sh一起使用 -p <host port>:<container port> 将容器的端口映射到主机端口 --rm 容器停止后自动删除容器 # 例子(前提是有tomcat:9.0这个镜像) docker run \ -d \ -p 8023:8080 \ --name tomcat-test \ tomcat:9.0
容器的查看
# 查看正在运行的容器 docker ps # 查看曾经运行的容器 docker ps -a # 显示最近创建的容器,设置显示个数 docker ps -a - n=? # 只显示容器的编号 docker ps -aq
容器的进入与退出
# 进入容器 docker exec -it <容器名/容器id> /bin/bash # 退出容器 exit 或者快捷键:Ctrl+P+Q
容器的删除
# 删除指定容器 不能删除正在运行的容器,如果强制删除 rm -f docker rm 容器id # 删除所有容器(可以将正在运行的容器删除) docker rm -f $(docker ps -aq) # 删除所有容器(可以将正在运行的容器也删除) docker ps -a -q|xargs docker rm
容器的停止与启动
docker start <容器名/容器id> docker restart <容器名/容器id> docker stop <容器名/容器id>
宿主机与容器之间文件传输
#从主机复制文件到容器: docker cp myfile.txt <容器id>:/path/to/destination 从容器复制文件到主机: docker cp <容器id>:/path/to/file.txt /path/to/destination 从容器复制整个目录到主机: docker cp <容器id>:/path/to/directory /path/to/destination
容器打包成镜像
# 用法 docker commit [OPTIONS] 容器ID 镜像名[:标签] OPTIONS:可选参数,用于配置新镜像的各种选项。 -a, --author="<author>":指定新镜像的作者。 -c, --change=[]:应用 Dockerfile 指令来创建新镜像。 -m, --message="<message>":为新镜像添加一条描述信息。 -p, --pause=true|false:在创建新镜像时是否暂停容器。默认为 true # 例子 docker commit -a "zhangzhixi" -m "生成镜像测试" 2ce13b211f16 tomcat9-me:1.0