docker - [04] 常用命令
一、帮助命令
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] 常用命令的更多相关文章
- Dockerfile指令及docker的常用命令
DockerfileFROM: FROM <image> FROM <image>:<tag> MAINTAINER: MAINTAINER <name> ...
- Docker Kubernetes 常用命令
Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...
- Docker(二十二)-Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- 【Docker入门】Docker的常用命令
了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...
- Docker CLI docker buildx 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- Docker CLI docker build 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- Docker CLI docker attach 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- Docker CLI docker run 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
随机推荐
- Mysql的个人习惯
一定要有主键 一般使用的innodb引擎中会根据主健创建聚簇索引,这种方式会使得数据排列的更连续,减少随机IO 关于数据长度 考虑数据范围,够用的前提下,数据长度是越简单越好,数据类型是越小越好. 尽 ...
- 树莓派4B 关闭休眠,关闭屏保
1.安装 sudo apt install xscreensaver 2.打开xscreensaver sudo xscreensaver-demo 3.设置 参考:https://zhuanlan. ...
- C/C++源码扫描系列- Fortify 篇
首发于 https://xz.aliyun.com/t/9276 概述 Fortify是一款商业级的源码扫描工具,其工作原理和codeql类似,甚至一些规则编写的语法都很相似,其工作示意图如下: 首先 ...
- 腾讯云对象存储COS获Veritas认证,数据安全能力再升级
近日获悉,腾讯云对象存储 COS 正式通过 Veritas 备份软件标准化测试,为数据安全再添新助力. Veritas 对 COS 的支持已经从底层打通,目前 Veritas 的 NetBackup ...
- 中电金信鲸视:以AI视觉技术为复杂行业场景装上“火眼金睛”
作为人工智能和计算机视觉的交叉领域,智能视觉通过仿生人类视觉机能,对不同形式的视觉输入进行处理.理解和决策.现今,智能视觉已成为应用广泛.市场覆盖大.形式多样的产业方向,得到了国家政策的大力支持. ...
- 微服务之调用链(Feign+SpringCloud)
终于到了我们的重点,微服务了. 与使用OkHttp3来实现的客户端类似,Feign接口本来也就是一个Http调用,依然可以使用Http头传值的方式,将 Trace 往下传. 本文更多的是关于 Spri ...
- Qt开源作品43-超级图形字体
一.前言 对于众多的Qter程序员来说,美化UI一直是个老大难问题,毕竟这种事情理论上应该交给专业的美工妹妹去做,无奈在当前整体国际国内形式之下,绝大部分公司是没有专门的美工人员的,甚至说有个兼职的美 ...
- WxPython跨平台开发框架之列表数据的通用打印处理
在WxPython跨平台开发框架中,我们大多数情况下,数据记录通过wx.Grid的数据表格进行展示,其中表格的数据记录的显示和相关处理,通过在基类窗体 BaseListFrame 进行统一的处理,因此 ...
- 基于实践:一套百万消息量小规模IM系统技术要点总结
本文由公众号"后台技术汇"分享,原题"基于实践,设计一个百万级别的高可用 & 高可靠的 IM 消息系统",原文链接在文末.由于原文存在较多错误和不准确内 ...
- 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么
1.引言 我相信大家刚开始学网络编程中socket的时候,都跟我一样对书上所讲的socket概念云里雾里的.似懂非懂,很是困扰. 这篇文章我打算从初学者的角度,用通俗易懂的文字,跟大家分享下我所理解的 ...