【云原生】Docker中容器管理常用所有命令

这篇具有很好参考价值的文章主要介绍了【云原生】Docker中容器管理常用所有命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【云原生】Docker中容器管理常用所有命令,云原生,云原生,docker,容器
1.docker 容器创建流程

【云原生】Docker中容器管理常用所有命令,云原生,云原生,docker,容器

 

2.容器运行本质
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
创建容器基本选项:

--name:为容器命名
-i:交互式创建容器
-d:后台创建容器
-t:为容器分配伪终端

Docker 容器存在的意义就是为了运行容器中的应用,对外提供服务,所以启动容器的目的就是启动运行该容器中的应用。容器中的应用运行完毕后,容器就会自动终止。所以如果不想让容器启动后立即终止运行,则就需要使容器应用不能立即结束。通常采用的方式有两种,使应用处于与用户交互的状态或等待状态。

3.docker run

从镜像创建并运行一个新容器

格式:文章来源地址https://www.toymoban.com/news/detail-626067.html

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

创建一个centos7.9镜像

[root@localhost ~]# docker run  -it --name centos7 centos:7.9.2009
[root@4c392a1a06d7 /]# 
#前台退出容器 ctrl+p+q
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND       CREATED          STATUS          PORTS     NAMES
4c392a1a06d7   centos:7.9.2009   "/bin/bash"   11 seconds ago   Up 10 seconds             centos7

前台退出容器快捷键 ctrl+p+q 容器在后台运行

4.docker exec

在正在运行的容器中执行命令

格式:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

选项:

--detach,-d:分离模式:在后台执行命令
--detach-keys:覆盖分离容器的键序列
--env -e:设置环境变量
--env-file:读写一个环境变量文件
--interactive,-i:保持STDIN打开,即使没有连接
--privileged:赋予命令扩展权限
--tty,-t:分配一个伪终端
--user,-u;用户名或UID(格式:< name| UID >[:<group|gid>])
--workdir,-w:容器内的工作目录

进入centos7容器中

[root@localhost ~]# docker exec -it -w /tmp  centos7 /bin/bash
[root@4c392a1a06d7 tmp]# pwd
/tmp
docker attach

将本地标准输入、输出和错误流附加到正在运行的容器

格式:

docker attach [OPTIONS] CONTAINER
docker exec 与 docker attach的区别?
  • docke exec会新建一个进程来访问容器进程,一般与-it选项联合使用,一般使用exit命令退出i并终止当前进程

  • docker attach不会新建进程,而是进入容器原有的进程,根据情况可以使用exit或者ctrl+p+q来进行退出容器

5.docker ps

列表容器

格式:

docker ps [OPTIONS]

选项:

-a,-all:显示所有容器(默认显示正在运行)
-f:根据提供的条件过滤输出
--latest,-l:显示最新创建的容器(包括所有状态)
--no-trunc:不要截断输出
--quiet,-q:只显示容器id
--size,-s:显示总文件大小

注意:docker ps不支持容器间的文件复制传递

6.docker top

显示容器的运行进程

格式:

docker top CONTAINER [ps OPTIONS]
7.docker 容器管理
启动
docker start [OPTIONS] CONTAINER [CONTAINER...]
停止
docker stop [OPTIONS] CONTAINER [CONTAINER...]
​
#强制停止
docker kill [OPTIONS] CONTAINER [CONTAINER...]
重启
docker restart [OPTIONS] CONTAINER [CONTAINER...]
暂停
docker pause CONTAINER [CONTAINER...]
取消暂停
docker unpause CONTAINER [CONTAINER...]
8.docker logs

获取容器日志

格式:

docker logs [OPTIONS] CONTAINER

选项:

--details:显示日志提供的额外详细信息 
--follow,-f:跟踪日志输出
--since:显示从时间戳开始的日志(例如2013-01-02T13:23:37Z)或相对日志(例如42m的42minutes)
--tail,-n:从日志末尾开始显示的行数
-t:显示日志时间戳
--until:在时间戳之前显示日志(例如2013-01-02T13:23:37Z)或相对显示(例如42m表示42minutes)

查看5秒之前的日志内容的前3行

[root@localhost ~]# docker logs --until 5s -n 3 nginx1
2023/07/12 10:04:58 [notice] 1#1: start worker process 32
2023/07/12 10:04:58 [notice] 1#1: start worker process 33
2023/07/12 10:04:58 [notice] 1#1: start worker process 34
9.docker cp

在容器和本地文件系统之间复制文件/文件夹

格式:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

选项:

-a:归档模式(复制所有uid/gid信息)
--quiet,-q:在复制过程中抑制进度输出。如果没有终端连接,则自动抑制进度输出
10.docker rm

移除一个或多个容器

格式:

docker rm [OPTIONS] CONTAINER [CONTAINER...]

选项:

--force,-f:强制移除正在运行的容器(使用SIGKILL)
--link,-l:移除指定的链接
--volumes,-v:移除与容器关联的匿名卷
11.docker commit

根据容器的更改创建一个新映像

格式:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

选项:

--author,-a:作者(如John Hannibal Smith <hannibal@a-team.com>)
--change,-c:在创建的镜像上应用Dockerfile指令
--message,-m:提交消息
--pause,-p:在提交期间暂停容器

创建一个centos7镜像,进行安装net-tools工具,然后进行打包成镜像

[root@localhost ~]#  docker run -itd --name centos centos:7.9.2009
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
[root@localhost ~]# docker exec -it centos /bin/bash
[root@1d1725c19cbe /]# yum -y install net-tools

进行打包

[root@localhost ~]# docker commit -a 'conquerbug@163.com' centos centos7:net-tools
sha256:0db0f584d14de19f7b377fa385ea43e7abcb57223f4a51c690c5b1628e882f70
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED         SIZE
centos7           net-tools   0db0f584d14d   6 seconds ago   418MB

然后,再基于当前镜像创建容器即可

12.docker导出/导入
docker export

将容器文件系统导出为tar归档文件

格式:

docker export [OPTIONS] CONTAINER

选项:

--output,-o:写入文件,而不是标准输出

将当前容器进行打包

[root@localhost ~]# docker export -o centos.tar centos
[root@localhost ~]# ls
centos.tar  Dockerfile  httpd-2.4.57.tar.gz  image.tar  my.cnf  original-ks.cfg
docker import

从压缩包中导入内容以创建文件系统映像

格式:

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

选项:

--change,-c:在创建的镜像上应用Dockerfile指令
--message,-m:为导入的图像设置提交消息
--platform:如果服务器支持多平台,请设置平台

将刚刚打包的容器进行还原

[root@localhost ~]# docker import centos.tar centos:test
sha256:6bc2adb97476b7b797a5a129c68afcba4ce05ab487812727c7049003f2a1049e
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED             SIZE
centos            test        6bc2adb97476   4 seconds ago       394MB
13.docker镜像/容器导出和导入的区别
export与save
  1. export作用于容器,save作用于镜像,但它们导出的结果都是为tar文件

  2. export一次只能对一个容器进行导出,save一次可以对多个镜像进行导出

  3. export只是对当前容器的文件系统快照进行导出,其会丢失原镜像的所有历史记录与元数据信息,save则是保存了原镜像的完整记录。

import与load
  1. import导入的是容器包,load加载的是镜像包,但最终都会恢复为镜像

  2. import恢复为的镜像已包含当前镜像一层,load恢复的镜像与原镜像的分层是完全相同的。

  3. import恢复的镜像就是新构建的镜像,与原镜像的imageID不同,load恢复的镜像与原镜像是同一个镜像,即imageID相同。

  4. import可以为导入的镜像指定从<repository>与<tag>,load加载的镜像不能指定<repository>与<tag>,与原镜像的相同

14.docker system

管理码头工人

1.docker system df

查看docker磁盘使用情况

格式:

docker system df [OPTIONS]

查看当前系统的docker磁盘使用情况

[root@localhost ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          9         2         1.504GB   1.435GB (95%)
Containers      2         1         213.9MB   213.9MB (100%)
Local Volumes   3         1         6.174MB   1.501MB (24%)
Build Cache     19        0         465.4MB   465.4MB

选项:

--format:使用自定义模板格式化输出:` table `:使用
docker system events [OPTIONS]
列标题以表格格式打印输出(默认)` table template `:使用给定的Go模板以表格格式打印输出` json `:使用给定的Go模板打印输出。有关使用模板格式化输出的更多信息,请参阅https://docs.docker.com/go/formatting/
​
--verbose,-v:显示空间使用的详细信息
2.docker system events

从服务器获取实时事件

格式:

docker system events [OPTIONS]

选项:

--filter,-f:根据提供的条件过滤输出
--format:使用给定的Go模板格式化输出
--since:显示自时间戳以来创建的所有事件
--until:流事件直到这个时间戳

打开两个终端

终端1

docker system events

终端2

[root@localhost ~]# docker stop test
test

查看终端1

[root@localhost ~]# docker system events
2023-07-15T17:04:37.334836848+08:00 container kill d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley, signal=15)
2023-07-15T17:04:41.428854481+08:00 network disconnect 462ad2de000e7aae527224ae21c66e15aac0e68ed45f96b65528e22e272851fa (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, name=bridge, type=bridge)
2023-07-15T17:04:41.430294298+08:00 volume unmount 0e452a14a460fdc4cfa0b2644761923359a263fe9abeca5fd1952927231ca0a7 (container=d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290, driver=local)
2023-07-15T17:04:41.430357838+08:00 container stop d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290 (image=progrium/consul, name=great_easley)
3.docker system info

显示系统范围的信息

格式:

docker system info [OPTIONS]

与docker info相同

4.docker system prune

移除未使用的数据

格式:

docker system prune [OPTIONS]

选项:

--all,-a:删除所有未使用的图片,而不仅仅是悬挂的图片
--filter:提供过滤器值(例如label=<key>=<value>)
--force,-f:不提示确认
--volumes:删除卷

删除当前docker服务器所有没有使用的容器和空名空标签的镜像和没有使用的网络

[root@localhost ~]# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache
  
翻译:
警告!这将删除:
-所有停止的容器
—所有未被至少一个容器使用的网络
-所有悬挂的图像
-所有悬挂的构建缓存
你确定要继续吗?[y / N]
​
Are you sure you want to continue? [y/N] y
​
Deleted Containers:
1d1725c19cbe9c6e119f055827a316dd351eb4adeae291a878a39418312daed5
d1a032d521d4e4a02cc7ea497d6d83ac137d4d03e838f4db01e0fe903b2cc290
​
Deleted Networks:
mynet1
mac_net1
​
Deleted build cache objects:
kutjwzwfdu28eldqlwo07uax7
0p5xfeo29k8ojauchfzf97kp0
a9puvqnewb05luw84rnanr2lh
y6mdonbx0pvs2trx7xd97738u
kj09ara8y3v3b6f50xtzie6lv
itk7ujtbdy4c2nirz68e2ivck
2a7d9sfcsnvl9owzau11l0jrq
oe2ukyl2cpguwqjm0kddg5tcx
4fom9yi9x5i125uvb96d29ext
tdwcwf0eze1lrvgherr4sxrs5
9hffla6qush85p7jhf89l56ek
​
Total reclaimed space: 679.3MB
[root@localhost ~]# docker images
REPOSITORY        TAG         IMAGE ID       CREATED         SIZE
centos            test        6bc2adb97476   25 hours ago    394MB
centos7           net-tools   0db0f584d14d   26 hours ago    418MB
busybox           latest      beae173ccac6   18 months ago   1.24MB
nginx             latest      605c77e624dd   18 months ago   141MB
voltest           latest      3af6982c965f   18 months ago   141MB
redis             latest      7614ae9453d1   19 months ago   113MB
mysql             5.7         c20987f18b13   19 months ago   448MB
centos            7.9.2009    eeb6ee3f44bd   22 months ago   204MB
progrium/consul   latest      09ea64205e55   8 years ago     69.4MB
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
462ad2de000e   bridge    bridge    local
c598e7da9321   host      host      local
36391f761fe6   none      null      local
15.docker create

创建一个新容器

它与run类似,但是它唯一的区别就是,create只创建容器不运行,但是docker run是创建容器并运行

格式:

docker create [OPTIONS] IMAGE [COMMAND] [ARG...zz

到了这里,关于【云原生】Docker中容器管理常用所有命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维知识大神篇】运维人必学的Docker教程1(Docker安装部署+Docker镜像管理+容器管理常用命令+搭建docker的本地yum源+windows系统安装docker环境)

    本篇文章开始给大家介绍Docker,这个是我非常喜欢的一个服务,介绍给大家,希望大家也能喜欢! 目录 何为容器 Docker环境安装部署 一、yum安装(CentOS7.9) 二、rpm包安装(CentOS) 三、卸载docker环境 四、安装指定的docker版本 五、Ubuntu安装docker环境 六、使用deb安装docker 七、

    2024年01月18日
    浏览(74)
  • docker——启动 停止所有容器——命令备份

    docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2) docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2) docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2) docker rmi $(docker images | awk ‘{print $3}’ |tail -n +2) docker ps --no-trunc

    2024年02月19日
    浏览(33)
  • docker中启动所有的容器命令

    docker中 启动所有的容器命令 docker中 关闭所有的容器命令 docker中 删除所有的容器命令 docker中 删除所有的镜像 感兴趣的小伙伴可以自己在3A服务器上部署一套环境,亲自尝试练习下。

    2024年02月11日
    浏览(34)
  • 【云原生 • Docker】docker 环境搭建、docker 与容器常用指令大全

    目录 一、Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 2. 安装 Docker 3. 设置 ustc 镜像 二、Docker/容器操作命令汇总 1. Docker 操作命令 2. 镜像相关命令 3. 查看容器 4. 创建容器 5. 停止与启动容器 6. 文件挂载 7. 目录挂载 8. 查看容器 IP 地址 9. 删除容器 1. 准备工作(已有

    2024年01月16日
    浏览(51)
  • 云原生Docker容器管理

    目录 docker容器的管理 容器创建  查看容器的运行状态 启动容器 创建并启动容器  终止容器运行  删除容器  容器的进入  查看容器详细信息 复制到容器中 从容器复制文件到主机 容器的导出与导入 导出  导入 相当于一个进程,性能接近于原生,几乎没有损耗; docker容器在

    2024年02月07日
    浏览(37)
  • 【云原生】Docker容器命令监控+Prometheus监控平台

    目录 1.常用命令监控 docker ps docker top docker stats 2.weave scope 1.下载 2.安装 3.访问查询即可 3.Prometheus监控平台 1.部署数据收集器cadvisor 2.部署Prometheus 3.部署可视化平台Gragana 4.进入后台控制台 1.常用命令监控 docker ps 字段含义 docker top 查看指定容器内的进程 选项 查看详细docker容器

    2024年02月15日
    浏览(32)
  • 【云原生丶Docker】Docker镜像常用命令大全

    镜像是Docker中最为核心也是最具创造性的概念!在理解Docker的核心概念文章中,我们理解了镜像的含义,下面让我们一起操作一些镜像,包括拉取、推送镜像等操作。 通过 docker image help 查看 Docker 支持的镜像命令有哪些。 通过 docker pull 命令拉取镜像。 镜像由镜像名字和标签

    2024年02月11日
    浏览(38)
  • docker容器和常用命令

    1. 什么是容器 容器是隔离的环境中运行的一个 进程 , 如果进程结束 , 容器就会停止. 细致: 容器的隔离环境 , 拥有自己的 ip 地址 , 系统文件 , 主机名 , 进程管理 , 相当于一个 mini的系统 2. 容器 vs 虚拟机 3. Docker 极速上手指南 4. docker 下载镜像加速的配置 我们使用 docker 的时候

    2024年01月19日
    浏览(32)
  • docker常用容器命令

    首先说下容器: 它是指当docker运行镜像时,创建了一个隔离环境,称之为 容器 。  这种方式优点:可以开启多个服务,服务之前是互相隔离的(比如:在一台服务器上可以开启多个mysql,可以是多个不同版本或者多个相同版本,这样如果多个项目依赖不同mysql版本,也可以部

    2024年02月19日
    浏览(57)
  • Docker 常用【容器】命令

    Centos7 下载|安装|配置|卸载 Docker:https://liush.blog.csdn.net/article/details/129664121 Centos7 常用【基础|镜像】命令:https://liush.blog.csdn.net/article/details/129665015 容器常用命令 docker run IMAGE 新建启动容器 docker ps   查看所有正在运行的容器 exit  停止并退出容器 ctrl + P + Q   不停止退出容器

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包