docker常见命令

mac2022-06-30  22

回顾一下docker docker的图标: 大海里有鲸鱼,鲸鱼背上有集装箱 大海: 就是我们的宿主机,我这里是windows10 鲸鱼: 就是我们的docker 集装箱: 就是我们的容器实例,它来自于我们的镜像模板

Docker常见命令

帮助命令
docker version: 查看docker版本信息docker info: 查看docker容器信息docker --help: 查看docker帮助命令文档
镜像命令
docker images: 列出本地主机上的镜像 REPOSITORY: 表示镜像的仓库源TAG: 镜像的标签IMAGE ID: 镜像IDCREATED: 镜像创建时间SIZE: 镜像大小同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像,如果不指定版本标签,默认最新的 docker images的一些常见参数 -a: 列出本地所有的镜像(a就表示all),例如: docker images -a-q: 只显示镜像ID(只有8位),例如: docker images -q-qa: 显示本地所有镜像的ID,例如: docker images -qa–digests: 显示镜像的摘要信息,也就是一些说明,例如: docker images --digests–no-trunc: 显示完整的镜像信息(ID会显示完整而不是前12位),例如: docker images --digests docker search 某个镜像名字: 表示去docker hub上根据镜像的名字查询镜像,例如 docker search tomcatdocker search 常见参数说明 –no-trunc: 显示完整的镜像描述,例如: docker search --no-trunc tomcat–filter=stars=num: 列出收藏数不小于指定值的镜像,例如: docker search --filter=stars=30 tomcat,或者也可以和上面的连用:docker search --filter=stars=30 --no-trunc tomcat docker pull 某个镜像的名字: 表示从仓库源中下载指定镜像 格式: docker pull 镜像名字[:TAG],例如: docker pull tomcat 等价于dock er pull tomcat:latest docker rmi 某个镜像名字[:版本号]: 表示删除某个版本的镜像,默认为最新版 删除单个镜像(f表示强制删除): docker rmi -f 镜像名(镜像ID),例如: docker rmi -f hello-world删除多个镜像: docker rmi -f 镜像名1:TAG 镜像名2:TAG,其中TAG如果为latest可以不写删除全部: docker rmi -f $(docker images -qa)
容器命令1

首先,我们需要知道,有镜像才能创建容器 我们在这里新pull一个centos镜像作为例子

新建并启动容器: docker run [OPTIONS] IMAGE [COMMAND] [ARG…] run命令就做两件事: 一是根据镜像名新建一个实例(本地没有这个镜像就去仓库源拉下来然后新建实例),二是将这个实例跑起来,此时是以前台进程的方式运行 OPTIONS常见参数说明: –name=“容器新名字”: 为容器指定一个名字,例如: docker run -it --name=“mycentos” centos-d: 后台运行容器,并返回容器ID,也即启动守护式容器-i: 以交互式运行容器,通常与-t同时使用,例如: docker run -it centos(centos的id也可以),启动之后就会自动给容器实例赋一个值(类似于对象地址),然后在该容器中自动打开一个终端,并位于其根目录下-t: 为容器重新分配一个伪输入终端,通常与-i同时使用,即-it-P: 随机端口映射-p: 指定端口映射,有以下四种格式 ip:hostPort:containerPortip::containerPorthostPort:containerPortcontainerPort 列出当前docker中所有正在运行的容器: docker ps [OPTIONS],注意这个命令要在docker环境下运行时(root后面是docker)才能使用,否则会报错docker找不到 OPTIONS参数说明 -a: 列出当前所有正在运行的容器+历史运行过的容器-l: 显示最近创建的容器-n: 显示最近n个创建的容器-q: 静默模式,只显示容器编号–no-trunc: 不截断输出 退出容器 exit: 容器停止并退出ctrl+P+Q: 容器不停止退出 启动容器: docker start 容器名/容器ID重启容器: docker restart 容器名/容器ID停止容器: docker stop 容器名/容器ID强制停止容器: docker kill 容器名/容器ID删除已停止的容器(此时-a就不会显示了,因为缓存记录也删除了) 一次删除一个已停止的容器 : docker rm 容器ID一次删除一个容器,不论是否已停止: docker rm -f 容器ID一次删除多个容器: docker rm -f $(docker ps -a -q)
容器命令2
启动守护式容器(以后台方式运行): docker run -d 容器名,但是这样会有一个问题,当你启动一个守护容器之后再用docker ps查是查不到的,它由于没有前台进程,所以它觉得它没事了,就自动退出了,这是docker的机制查看容器日志: docker logs -f -t --tail 容器ID,例如: docker logs -f -t --tail “all” 7aacaafeb3e8,其中-t是加入时间戳,-f是跟随最新的日志打印,–tail all表示显示全部,–tail 1表示只显示最后一行查看容器内运行的进程: docker top 容器ID查看容器内部细节: docker inspect 容器ID进入正在运行的容器并以命令行的方式交互 docker exec (-it )容器ID/容器名 shell指令,例如: docker exec (-it) 11a408fc6dd9 ls -l表示查看centos容器下的所有文件,不进入此容器但是可以返回操作结果docker attach 容器ID/容器名 == docker exec -it 容器ID/容器名 /bin/bash,例如: docker attach 11a408fc6dd9 进入该容器上述两者的区别: attach直接进入容器启动命令的终端,不会启动新的线程,而exec是在容器中打开新的终端,并且可以启动新的线程 从容器内拷贝文件到主机上: docker cp 容器ID:容器内路径 目的主机路径
容器命令3
查看docker是否启动: systemctl is-active docker查看docker是否自启动: systemctl is-enabled docker查看docker信息: docker info删除所有未使用的镜像和容器: docker system prune登录docker hub: docker login退出docker hub登录: docker logout要上传到docker hub的镜像,其名必须遵守一个convention: <docker_id>/<image_name>:<tag_name>重命名image: docker tag 自动重启docker: docker run --restart=unless-stopped
最新回复(0)