Docker常用命令

一个搬砖的农民工 2024-06-14 17:37:06 阅读 55

目录

一、启动类命令二、镜像命令1、docker images2、docker search3、docker pull4、docker system df5、docker rmi6、什么是docker虚悬镜像? 三、容器命令1、docker run2、docker ps3、退出容器4、容器重启、停止、删除5、容器日志、进程、进入命令行6、容器复制、导入、导出7、查看容器IP补充

一、启动类命令

启动docker:systemctl start docker停止docker:systemctl stop docker重启docker:systemctl restart docker查看docker状态:systemctl status docker开机启动:systemctl enable docker查看docker概要信息:docker info查看docker总体帮助文档:docker --help查看docker命令命令帮助文档:docker 具体命令 --help

二、镜像命令

1、docker images

作用:查看本地所有镜像

使用docker images

-a 列出所有镜像-q 只显示镜像ID

在这里插入图片描述

标题说明:

repository:表示镜像的厂库源

tag:镜像版本号

image id:镜像ID

created:镜像创建时间

size:镜像大小

同一个仓库源可以有多个tag版本(如mysql 有5.7;8.0版本)。一般我们使用repository:tag 来定义不同镜像,如果不指定tag版本,默认最新版本。(例如使用ubuntu,docker默认使用ubuntu:latest镜像)

2、docker search

作用:查看远程仓库镜像

使用:docker search [镜像名称]

--limit [数量]:列出前几个

在这里插入图片描述

标题说明:

name:镜像名称

description:镜像说明

stars:点赞数

official:是否官方发布的

automated:是否自动构建

3、docker pull

作用:从远程仓库下载镜像到本地

使用docker pull [镜像名称]:[tag版本号]

没有tag默认拉取最新的

在这里插入图片描述

4、docker system df

作用:查看镜像/容器/数据卷所占用空间

使用docker system df

在这里插入图片描述

5、docker rmi

作用:删除镜像

使用

删除单个:docker rmi -f [镜像ID]删除多个:docker rmi -f [镜像ID1] [镜像ID2]删除全部:docker rmi -f $(docker images -qa)

在这里插入图片描述

6、什么是docker虚悬镜像?

仓库名和标签都是none的情况,

在这里插入图片描述

三、容器命令

1、docker run

作用:新建、启动容器

语法:docker run [options] image [command][arg...]

options 常用说明:

--name=:给容器指定一个名称,不使用则会随机分配一个名称-d:后台运行容器并返回一个容器ID (后台守护式容器,部分容器会在启动后自杀,也就是启动未成功,如:ubuntu)-i:以交互模式运行容器,通常和-t同时使用(前台交互式容器)-t:为容器重新分配一伪输入终端,通常和-i同时使用(前台交互式容器)-P:随机端口映射,大写P-p:指定端口映射,小写p-v:指定容器卷

启动交互式容器:

在这里插入图片描述

2、docker ps

作用:列出当前所有正在运行的容器

语法:docker ps [options]

options常用说明:

-a:列出当前所有正在运行的容器 + 历史上运行过得容器-l:显示最近创建的容器-n:显示最近n个创建的容器-q:静默模式,只显示容器编号

在这里插入图片描述

3、退出容器

两种方式:

exit:run进去容器,exit退出,容器停止ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

在这里插入图片描述

4、容器重启、停止、删除

docker start [容器ID]:启动已经停止运行的容器docker restart [容器ID]:重启容器docker stop [容器ID]:停止正在运行的容器docker kill [容器ID]:强制停止正在运行的容器docker rm [容器ID]:删除已经停止的容器docker rm -f [容器ID]:强制删除容器docker rm -f $(docker ps -aq):一次性删除多个容器(谨慎使用

5、容器日志、进程、进入命令行

查看容器日志:docker logs [容器ID]查看容器进程:docker ps -a | grep [名称]

例:docker ps -a | grep mysql ; docker ps -a | grep redis查看容器内运行的进程:docker top [容器ID]查看容器内部细节:docker inspect [容器ID]进入正在运行的容器并以命令行进行交互:

命令1:docker exec -it [容器ID] bash

命令2:docker attach [容器ID]

(推荐使用docker exec命令,因为docker attach命令使用exit退出,会导致容器停止,而docker exec命令不会)

6、容器复制、导入、导出

复制

语法:docker cp [容器ID]:[容器内路径] [目的主机路径]

例:想把容器ID为8b6c3cb3470b,路径/bin下面的一个a.txt文件cp到主机目录/test下docker cp 8b6c3cb3470b:/bin/a.txt /test

导出

作用:export导出容器的内容作为一个tar文档文件[对应import命令]

语法:docker export [容器ID] > [文件名.tar]

导入

作用:import从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

语法:cat [文件名.tar] | docker import - 镜像用户/镜像名:镜像版本号

在这里插入图片描述

7、查看容器IP

其中 <container_name_or_id> 替换为容器名称或者id,可以通过 docker ps 查看容器名称和id

docker inspect -f '{ {range .NetworkSettings.Networks}}{ {.IPAddress}}{ {end}}' <container_name_or_id>

补充

1、根据容器生成一个新的镜像

语法:docker commit -m="[提交描述]" -a="[作者]" [容器ID] [镜像名]:[版本号]



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。