官方文档: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. 利用Catalina快速重新指定tomcat的代码路径

    思路: 在/tomcat/conf/Catalina/localhost目录下,建立对应的xml文件,来定义. 方法: 比如:想在 Http://localhost/test-api 显示,且代码放在 ...

  2. Flutter查漏补缺2

    Flutter的理念架构 Flutter架构分为三层 参考官方文档 Framework层(dart) flutter engine层(C/C++) embeder层(platform-specific ...

  3. Java性能最后一个领域:去除垃圾回收器

    Java性能最后一个领域:去除垃圾回收器 不产生垃圾不等于不创建对象,如果对象创建满足以下几个条件,仍然可以在创建对象之后不需要垃圾回收器: 应用程序或者库在初始化的时候生成有限个数的对象,然后不断复 ...

  4. 迁移现有用户数据到ABP vNext

    前言 使用 ABP vNext(下文简称 ABP)时,通常都是从 cli 开始新建模板,从一个空项目开始.对已经存续的项目来说,现有的数据,特别是用户等核心数据需要进行迁移. 老的项目,随着规模越来越 ...

  5. pmml(模型标准化)

    PMML简介PMML全称预言模型标记模型(Predictive Model Markup Language),以XML 为载体呈现数据挖掘模型.PMML 允许您在不同的应用程序之间轻松共享预测分析模型 ...

  6. com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的区别

    今天写东西测试的时候发现一个问题,如下: application.yml中数据源是这样配置的: 第一反应就是记忆中连接mysql的驱动不都是com.mysql.jdbc.Driver吗?com.mys ...

  7. Python中的包、模块和源码的组织关系

  8. 尝试 vmware 16.0.0 过虚拟化 过xf虚拟机检测

    前言 最新想在vmware虚拟机上玩xf,网上找了不少教程,于是打算自己尝试下. 如果可以修改成功的话,其价值嘛不可估量. 环境 vmware版本是16.0.0,已安装VMware Tools vmw ...

  9. 揭秘vivo百亿级厂商消息推送平台的高可用技术实践

    本文由vivo 互联网服务器团队Yu Quan分享,本文收录时有内容修订和重新排版. 1.引言 如今,Android端的即时通讯IM这类应用想实现离线消息推送,难度越来越大(详见<Android ...

  10. CDS标准视图:维护策略数据 I_MaintenanceStrategyData

    视图名称:维护策略数据 I_MaintenanceStrategyData 视图类型:基础视图 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IMAINTSTRATD ...