官方文档:https://docs.docker.com/reference/

一、帮助命令

1.1、docker version

查看docker的版本信息

1.2、docker info

显示docker的系统信息,包括镜像和容器的数量

1.3、docker --help

查看帮助信息

二、镜像命令

2.1、docker images

查看本地主机的所有镜像

  • REPOSITORY:镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像的id
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小

2.2、docker search

在远程仓库搜索某个镜像

2.3、docker pull

拉取镜像(使用分层下载)

2.4、docker rmi

删除镜像:docker rmi -f <IMAGE ID>

# 删除所有镜像(递归删除)
docker rmi -f $(docker images -aq)

2.5、docker history

查看镜像历史:docker history [IMAGE ID](可以查看镜像的构建历史过程)

三、容器命令

3.1、docker run

启动并进入容器

不关闭容器,退回宿主机。这样的话,容器还在后台运行。

3.2、docker ps

列出所有运行的容器

3.3、docker rm

删除容器: docker rm -f [CONTAINERD ID]

docker rm -f $(docker ps -aq)        # 删除所有的容器
docker ps -a -q|xargs docker rm # 删除所有的容器

3.4、docker [s/r/s/k]

启动和停止容器的操作

# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止当前正在运行的容器
docker stop 容器id
# 强制停止当前容器
docker kill 容器id

四、其他常用命令

4.1、docker run -d

后台启动容器

# 命令 docker run -d 镜像名
docker run -d centos

4.2、docker logs

查看日志

docker logs -f -t --tail container_id

[root@node /]# docker run -d centos /bin/bash -c "while true;do echo kuangshen;sleep 1;done"
f15f147bb7dc13b919f0ab21c505cccf91dd4d321b9b8086552267baafcf8da9
[root@node /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f15f147bb7dc centos "bash -c 'while true…" About a minute ago Up About a minute sleepy_jemison
[root@node /]#
[root@node /]#
[root@node /]# docker logs -tf --tail 10 f15f147bb7dc
2023-05-29T06:48:44.257022483Z kuangshen
2023-05-29T06:48:45.260770075Z kuangshen
2023-05-29T06:48:46.263123898Z kuangshen
2023-05-29T06:48:47.265158305Z kuangshen
2023-05-29T06:48:48.267925288Z kuangshen
2023-05-29T06:48:49.270874934Z kuangshen
2023-05-29T06:48:50.274174637Z kuangshen
2023-05-29T06:48:51.277475492Z kuangshen
2023-05-29T06:48:52.280608365Z kuangshen
2023-05-29T06:48:53.283947185Z kuangshen
2023-05-29T06:48:54.286896417Z kuangshen
2023-05-29T06:48:55.290543538Z kuangshen
2023-05-29T06:48:56.293999089Z kuangshen
2023-05-29T06:48:57.299610253Z kuangshen
2023-05-29T06:48:58.302460498Z kuangshen
^C
[root@node /]#
[root@node /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f15f147bb7dc centos "bash -c 'while true…" 2 minutes ago Up 2 minutes sleepy_jemison
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]# docker rm -f f15f147bb7dc
f15f147bb7dc
[root@node /]#
[root@node /]#
[root@node /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]#

4.3、docker top

查看容器中的进程信息

[root@node /]# docker run -d centos bash -c "while true;do echo kuangshen;sleep 1;done"
44ea59b3a9356a145dfd3a7bc68dc213865bfd695415f243323b93b0f065dbca
[root@node /]#
[root@node /]#
[root@node /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
44ea59b3a935 centos "bash -c 'while true…" 6 seconds ago Up 5 seconds epic_boyd
[root@node /]#
[root@node /]#
[root@node /]#
[root@node /]# docker top 44ea59b3a935
UID PID PPID C STIME TTY TIME CMD
root 72172 72151 0 14:51 ? 00:00:00 bash -c while true;do echo kuangshen;sleep 1;done
root 72290 72172 0 14:51 ? 00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
[root@node /]#
[root@node /]#
[root@node /]#

4.4、docker inspect

查看容器的元数据信息

4.5、docker exec/attach

进入当前正在运行的容器

# 方法一:进入容器后开启一个新的终端,可以在里面操作(常用)
docker exec -it container_id bash
# 方法二:进入容器正在执行的终端,不会启动新的进程!
docker attach container_id

4.6、docker cp

从容器内拷贝文件到主机

# docker cp 容器id:容器内路径 目的主机路径

[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
740ee6cbc783 centos "bash" 40 seconds ago Up 40 seconds reverent_bardeen
[root@node01 ~]#
[root@node01 ~]# docker exec -it 740ee6cbc783 bash
[root@740ee6cbc783 /]#
[root@740ee6cbc783 /]# cd /home/
[root@740ee6cbc783 home]# ls
[root@740ee6cbc783 home]#
[root@740ee6cbc783 home]# touch test.sh
[root@740ee6cbc783 home]# ls
test.sh
[root@740ee6cbc783 home]# exit
exit
[root@node01 ~]#
[root@node01 ~]# docker cp 740ee6cbc783:/home/test.sh ./
Successfully copied 1.54kB to /root/./
[root@node01 ~]# ls
anaconda-ks.cfg test.sh
[root@node01 ~]#

五、命令小结

— 要养成终生学习的习惯 —

docker - [04] 常用命令的更多相关文章

  1. Dockerfile指令及docker的常用命令

    DockerfileFROM: FROM <image> FROM <image>:<tag> MAINTAINER: MAINTAINER <name> ...

  2. Docker Kubernetes 常用命令

    Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...

  3. Docker(二十二)-Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  4. Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  5. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  6. 【Docker入门】Docker的常用命令

    ​ ​ 了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...

  7. Docker CLI docker buildx 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  8. Docker CLI docker build 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  9. Docker CLI docker attach 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

  10. Docker CLI docker run 常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...

随机推荐

  1. Mysql的个人习惯

    一定要有主键 一般使用的innodb引擎中会根据主健创建聚簇索引,这种方式会使得数据排列的更连续,减少随机IO 关于数据长度 考虑数据范围,够用的前提下,数据长度是越简单越好,数据类型是越小越好. 尽 ...

  2. 树莓派4B 关闭休眠,关闭屏保

    1.安装 sudo apt install xscreensaver 2.打开xscreensaver sudo xscreensaver-demo 3.设置 参考:https://zhuanlan. ...

  3. C/C++源码扫描系列- Fortify 篇

    首发于 https://xz.aliyun.com/t/9276 概述 Fortify是一款商业级的源码扫描工具,其工作原理和codeql类似,甚至一些规则编写的语法都很相似,其工作示意图如下: 首先 ...

  4. 腾讯云对象存储COS获Veritas认证,数据安全能力再升级

    近日获悉,腾讯云对象存储 COS 正式通过 Veritas 备份软件标准化测试,为数据安全再添新助力. Veritas 对 COS 的支持已经从底层打通,目前 Veritas 的 NetBackup ...

  5. 中电金信鲸视:以AI视觉技术为复杂行业场景装上“火眼金睛”

    ​ 作为人工智能和计算机视觉的交叉领域,智能视觉通过仿生人类视觉机能,对不同形式的视觉输入进行处理.理解和决策.现今,智能视觉已成为应用广泛.市场覆盖大.形式多样的产业方向,得到了国家政策的大力支持. ...

  6. 微服务之调用链(Feign+SpringCloud)

    终于到了我们的重点,微服务了. 与使用OkHttp3来实现的客户端类似,Feign接口本来也就是一个Http调用,依然可以使用Http头传值的方式,将 Trace 往下传. 本文更多的是关于 Spri ...

  7. Qt开源作品43-超级图形字体

    一.前言 对于众多的Qter程序员来说,美化UI一直是个老大难问题,毕竟这种事情理论上应该交给专业的美工妹妹去做,无奈在当前整体国际国内形式之下,绝大部分公司是没有专门的美工人员的,甚至说有个兼职的美 ...

  8. WxPython跨平台开发框架之列表数据的通用打印处理

    在WxPython跨平台开发框架中,我们大多数情况下,数据记录通过wx.Grid的数据表格进行展示,其中表格的数据记录的显示和相关处理,通过在基类窗体 BaseListFrame 进行统一的处理,因此 ...

  9. 基于实践:一套百万消息量小规模IM系统技术要点总结

    本文由公众号"后台技术汇"分享,原题"基于实践,设计一个百万级别的高可用 & 高可靠的 IM 消息系统",原文链接在文末.由于原文存在较多错误和不准确内 ...

  10. 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么

    1.引言 我相信大家刚开始学网络编程中socket的时候,都跟我一样对书上所讲的socket概念云里雾里的.似懂非懂,很是困扰. 这篇文章我打算从初学者的角度,用通俗易懂的文字,跟大家分享下我所理解的 ...