首页 > 其他分享 >动力节点Docker实战入门教程(4)Docker容陈可人

动力节点Docker实战入门教程(4)Docker容陈可人

时间:2023-05-26 14:33:03浏览次数:53  
标签:容器 tomcat 入门教程 命令 镜像 Docker 陈可人 docker 运行

根据B站上动力节点的最新版Docker教程整理了学习笔记,持续更新中~

4 Docker容器

4.1 容器基础

4.1.1 容器启动流程

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程

通过docker run命令可以启动运行一个容器。该命令在执行时首先会在本地查找指定的镜像,如果找到了,则直接启动,否则会到镜像中心查找。如果镜像中心存在该镜像,则会下载到本地并启动,如果镜像中心也没有,则直接报错。 如果再与多架构镜像原理相整合,则就形成了完整的容器启动流程。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_02

4.1.2 容器运行本质

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

4.2 容器创建并启动命令

对于容器的运行,有两种运行模式:交互模式与分离模式。下面通过运行ubuntu与tomcat来演示这两种运行模式的不同。

4.2.1 以交互模式运行ubuntu

动力节点Docker实战入门教程(4)Docker容陈可人_docker_03

  • --name指定当前容器名称为myubuntu
  • -it指定以交互模式运行容器,且为容器分配一个伪终端。
  • 后面的/bin/bash用于指定容器启动后需要运行的命令为/bin下的bash命令,而该命令会启动一个bash终端。
    我们在这里运行了一个ubuntu系统的容器,并为其取名为myubuntu。另外我们可以注意到,命令行前面提示部分内容发生了变化:原来显示的是[root@docker ~],而现在变为了root@de0940ad17dd:/#,这个就是docker生成的伪客户端,而数字de0940ad17dd表示的是docker容器的ID。此时就可以通过Linux命令对该ubuntu系统进行操作了。不过,由于容器中的该系统是一个精简的系统,有很多常用命令是没有安装的,所以如果要使用这些命令,就需要安装。
  • 动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_04

4.2.2 以交互模式运行tomcat

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_05

通过ls –l命令可查看tomcat根目录下的文件。注意,不支持ll命令。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_06

下面也是以交互模式运行tomcat容器,不同的是,该命令后没有/bin/bash,此时会真正启动tomcat。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_07

-p用于指定端口映射,格式为 暴露给宿主机的端口:容器中应用的端口 回车后会发现tomcat已启动,且tomcat的日志输出占居了命令行。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_08

此时在Window的浏览器中通过8081端口可以访问到tomcat。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_09

4.2.3 以分离模式运行tomcat

下面是以分离模式运行的tomcat,返回的是容器ID。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_10

-d选项表示以分离模式(detached mode)运行容器,即命令在后台运行,命令的运行与宿主机的运行分离开来。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_11

可以看到,已经启动了三个tomcat容器。且无论是IPv4还是IPv6,端口映射关系都很明确。此时通过window系统中的浏览器访问docker主机中映射的三个tomcat端口号就可以访问到tomcat。 通过该访问可以知道为什么要做端口映射的原因了:为了使相同的客户端主机可以访问同一宿主机上相同端口号的不同容器。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_12

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_13

动力节点Docker实战入门教程(4)Docker容陈可人_docker_14

4.2.4 以分离模式运行ubuntu

动力节点Docker实战入门教程(4)Docker容陈可人_Java_15

该运行方式存在一个问题:容器使用命令启动了,但通过docker ps命令查看不到。 再通过docker ps –a命令可以发现该容器,只不过其已经退出。docker ps查看的就是up状态的容器,由于其已经退出,所以docker ps查看不到。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_16

4.3 容器创建命令

docker create命令仅创建容器但不启动,其用法与docker run非常相似。注意,其没有-d选项。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_17

4.4 容器退出命令

退出容器指的是退出以交互模式运行的容器。分为两种退出方式:

4.4.1 退出并停止容器exit

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_18

在容器命令行中再运行exit命令后,通过docker ps –a可以查看到该容器已经退出了。

4.4.2 退出不停止容器Ctrl + P + Q

注:先按下Ctrl + P,然后再按下Q。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_19

使用快捷键Ctrl + P + Q能够返回到了宿主机命令行。 再通过docker ps可以查看到其是UP状态,说明容器退出了但并没有停止。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_20

4.5 容器状态查看命令

4.5.1 查看所有正在运行的容器

docker ps命令本身查看的是所有处于运行状态的容器信息。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_21

4.5.2 查看所有容器

docker ps –a用于查看所有容器,无论是否处于运行状态。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_22

4.5.3 查看所有容器的ID

docker ps –q用于查看所有处于运行状态的容器的ID。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_23

docker ps –qa用于查看所有容器的ID。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_24

4.5.4 查看最后创建的容器

docker ps –l用于查看最后创建的容器,无论该容器是否处于运行状态。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_25

4.5.5 查看最后创建的n个容器

docker ps –n 3用于查看最后创建的指定个数的容器,无论该容器是否处于运行状态。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_26

4.6 容器再进命令

当我们以分离模式运行了一个容器,或以交互模式运行了一个容器,但容器内部执行的命令占用了交互命令行,而此时我们又想进入到容器中对容器内部进行一些操作,此时就需要用到exec/attach命令了。注意,它们只能对正在运行的容器进行操作。

4.6.1 新建进程进入容器exec

该命令也用于进入到了运行状态的容器中。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_27

对于该命令的测试,首先以分离模式运行tomcat8容器。此时想进入该mytomcat容器,就可以使用exec命令。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_28

此时执行exit命令退出容器。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_29

此时查看正在运行的容器,发现mytomcat容器并未退出。说明exec命令会创建一个新的独立于容器的进程,而exit命令仅用于结束该新建进程。 同样,以交互模式运行tomcat容器,仍是无法使用命令行的,因为tomcat日志输出占用了命令行。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_30

此时若要使用命令行,可另外再打开一个新的Session窗口,然后再执行exec命令,便可进入容器,打开容器中的命令行。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_31

4.6.2 外部操作容器exec

前两种都是在进入到容器后才对容器进行操作的,我们也可以不进入容器直接对容器内部进行操作。例如仅想查看tomcat容器中工作目录中所包含的文件,直接在exec命令后紧跟要执行的命令即可直接看到其结果。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_32

4.6.3 容器附加标准输入

对于该命令的测试,首先以交互方式运行一个ubuntu容器,然后使用Ctrl + P + Q命令退出但不停止容器。

然后使用attach命令进入容器命令行。此时,再使用exit命令退出容器。然后会发现容器也停止了。由于exit命令的作用是,结束当前进程,所以说明attach命令并没有另外再创建新的进程,而是使用了容器进程,exit命令退出了当前进程,也就退出了容器。

4.6.4 容器附加标准输出

启动一个tomcat容器与其中的tomcat,指定容器名称为mytom。然后通过docker attach命令则可看到如下场景:占用了命令行,且没有任何输出,即使通过浏览器访问该tomcat也没有任何输出。此时的mytom容器已经附加了标准输出,只不过,其输出的是tomcat的启停日志信息。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_33

通过Ctrl + C可结束tomcat,此时可看到停止日志显示了出来。但由于此时的tomcat已经停止,tomcat容器已经退出,所以该docker attach命令也就随之结束了。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_34

4.7 容器内进程查看命令

docker top命令用于查看指定的正在运行的容器中正在运行的进程详情,这个详情包括当前这个进程正在运行的命令。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_35

当然,如果容器中运行的进程较多,也可以通过grep对结果进行过滤。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_36

4.8 容器日志查看命令

docker logs [容器]可以查看指定容器中应用的运行日志,无论该容器是运行还是停止状态。

4.8.1 查看所有日志

docker logs查看的是所有容器中应用的运行日志。这个日志对于不同的容器来说,其日志内容是不同的。由docker run 命令的[command]决定(如果没有则由Dockerfile中的CMD指令决定)。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_37

对启动了tomcat的tomcat容器来说,这个日志是tomcat启停日志。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_38

对于没有启动tomcat的tomcat容器来说,这个日志是/bin/bash的运行历史记录。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_39

对于ubuntu容器来说,这个日志是/bin/bash的运行历史记录。

4.8.2 查看最后的日志

通过添加选项-n或--tail可以指定要显示的最后几条日志。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_40

4.8.3 查看指定时间内的日志

通过添加选项--since可以指定要显示自从指定时间以来的日志。这个时间可以是一个绝对时间,也可以是一个相对时长。下面使用的是绝对时间:显示自从2022年8月1日后产生日志的最后3条。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_41

下面使用的是相对时长:显示自从30分钟之前产生日志中的最后3条。其中m表示分,可以使用s表示秒,h表示小时。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_42

4.8.4 查看指定时间外的日志

通过添加选项--until可以指定要显示截止到指定时间之前的日志。这个时间可以是一个绝对时间,也可以是一个相对时长。下面使用的是绝对时间:显示截止到2022年8月8日前产生日志的最后3条。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_43

下面使用的是相对时长:显示截止到5分钟之前产生日志中的最后3条。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_44

4.8.5 查看日志时间戳

如果要查看某日志的详细时间戳,可以使用-t选项。下面的命令查看的是最后3条日志的时间戳,并与不添加-t的输出进行了对比。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_45

4.8.6 查看动态日志

通过添加选项-f可以查看运行中容器的动态日志。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_46

以上命令用于查看mytomcat的最后三条动态日志。其会占用命令行,一直等待日志的输出。

4.9 容器启停命令

4.9.1 启动start

通过docker start命令可以启动已经停止的指定容器,这个容器可以通过容器名称指定,也可以通过容器ID指定。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_47

4.9.2 重启restart

通过docker restart命令可以重启处于运行状态的指定容器。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_48

4.9.3 优雅停止stop

通过docker stop命令可以优雅停止指定容器。所谓优雅停止是指,若当前容器正在被其它进程访问,则在访问结束后再停止。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_49

4.9.4 强制停止kill

通过docker kill命令可以强制停止指定容器。所谓强制停止是指,无论容器当前是否被其它进程访问都直接停止。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_50

4.9.5 停止所有容器

无论是docker kill还是docker stop,都可使用下面方式停止所有容器。因为这两个命令的参数都可以是容器ID。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_51

4.9.6 暂停pause

通过docker pause命令可以暂停容器对外提供服务。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_52

4.9.7 解除暂停unpause

通过docker unpause命令可解除容器的暂停服务状态。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_53

4.10 容器删除命令

4.10.1 正常删除

docker rm命令在默认情况下,要删除的容器必须是已经停止的容器。当然,这个容器可以使用容器名或容器ID指定。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_54

4.10.2 强制删除

在docker rm命令中添加-f可实现强制删除容器。即,无论容器是否停止都会删除。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b2h6UDsN-1685081313765)(https://cdn.nlark.com/yuque/0/2023/png/29444266/1684805725850-e261337f-c014-48b0-ab09-e6a0896dd5c7.png#averageHue=%233f3635&id=ePM1O&originHeight=208&originWidth=507&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)]

4.10.3 删除所有容器

4.11 容器与宿主机文件传递

docker cp命令可以完成容器与宿主机中文件/目录的相互复制,无论该容器是否处于运行状态。

4.11.1 将容器中文件复制到宿主机

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_55

以上命令是将mytomcat容器的tomcat中的webapps目录复制到宿主机的当前目录,查看宿主机当前目录。

4.11.2 将宿主机文件复制到容器

动力节点Docker实战入门教程(4)Docker容陈可人_docker_56

以上命令用于将宿主机中当前目录下的hw.tar文件复制到mytomcat容器的/usr/local/tomcat目录中。 若要查看容器中是否已经存在了hw.tar文件,需要首先启动该容器。

4.11.3 不支持容器间的cp

动力节点Docker实战入门教程(4)Docker容陈可人_docker_57

docker cp命令不支持容器间的文件传递。

4.12 提交容器为镜像

通过docker commit命令可以将一个容器文件系统的当前快照生成为一个新的镜像。需求:这里要在一个Ubuntu容器或Centos容器中安装net-tools工具包。为了方便演示,这里选择CentOS容器,直接使用yum安装。当然,如果使用Ubuntu容器也可以,要么直接使用apt-get安装net-tools,要么先安装yum后再安装net-tools。

4.12.1 修改容器层

首先创建并启动一个容器,例如centos:7镜像的容器。然后发现该容器中是没有安装ifconfig命令的。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_58

安装net-tools网络工具命令包。

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_59

此时再使用ifconfig,已经可以使用了。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_60

4.12.2 生成镜像

下面要将已经安装了ifconfig命令的容器生成为一个镜像,以方便后期自己或他人使用。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_61

这里指定生成的镜像的为centos7,为net-tools。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_62

4.12.3 使用新镜像

下面是使用新生成的镜像创建并启动一个容器,发现其中的ifconfig命令是可以使用的。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_63

4.12.4 生成悬虚镜像

悬虚镜像,即没有与的镜像。悬虚镜像一般都是由于某些失误操作或其它一些操作而生成的副产物,一般是要被清除掉的。如果非要使用悬虚镜像,那只能通过其ImageID来使用了。下面要将已经安装了ifconfig命令的容器生成为一个悬虚镜像,即没有指定与。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zNBi6Tf7-1685081313769)(https://cdn.nlark.com/yuque/0/2023/png/29444266/1684805728909-23ed8f4c-01ed-4056-86c9-7afd38f79c41.png#averageHue=%2353514f&id=JCju2&originHeight=115&originWidth=944&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)]

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_64

4.13 导入/导出容器

在上一章中学习了docker save与docker load命令,分别用于导出/导入镜像。这里要学习的docker export与docker import命令分别用于导出/导入容器。

4.13.1 导出容器export

docker export命令用于将一个容器的文件系统导出为tar文件。例如,下面的命令是将tomcat:8.5.32镜像的容器tom导出到当前/root目录的tomcat8.tar文件中。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_65

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_66

4.13.2 导入容器import

docker import命令用于根据指定的tar文件构建新的镜像。下面的命令是将当前目录下的tomcat8.tar导出为镜像mytomcat:1.0。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_67

动力节点Docker实战入门教程(4)Docker容陈可人_docker容器_68

4.13.3 与save/load命令的对比

4.13.3.1 export与save
  • export作用于容器,save作用于镜像,但它们导出的结果都为tar文件
  • export一次只能对一个容器进行导出,save一次可以对多个镜像进行导出
  • export只是对当前容器的文件系统快照进行导出,其会丢弃原镜像的所有历史记录与元数据信息,save则是保存了原镜像的完整记录
4.13.3.2 import与load
  • import导入的是容器包,load加载的是镜像包,但最终都会恢复为镜像
  • import恢复为的镜像只包含当前镜像一层,load恢复的镜像与原镜像的分层是完全相同的
  • import恢复的镜像就是新构建的镜像,与原镜像的ImageID不同;load恢复的镜像与原镜像是同一个镜像,即ImageID相同
  • import可以为导入的镜像指定与,load加载的镜像不能指定与,与原镜像的相同

4.13.4 与docker commit的对比

  • 相同点:docker export + docker import会将一个容器变为一个镜像,docker commit也可以将一个容器变一个镜像。
  • 不同点:docker export + docker import恢复的镜像仅包含原容器生成的一层分层,docker commit生成的镜像中包含容器的原镜像的所有分层信息。

4.14 docker system命令集

docker system是一个命令集,其有四个子命令。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_69

4.14.1 查看docker磁盘占用数据

docker system df用于查看docker各部分占用情况。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_70

如果要获取更为详细的占用情况,可添加-v选项。

动力节点Docker实战入门教程(4)Docker容陈可人_Java_71

4.14.2 查看docker发生过的事件

docker system events命令造价于docker events命令,可查看指定日间之内(--since)或之外(--until)在docker上所发生的所有事件。这些事件包含运行过的命令有docker内部执行的一些操作。

动力节点Docker实战入门教程(4)Docker容陈可人_docker教程_72

4.14.3 查看docker详情

docker system info命令等价于docker info,用于查看当前docker的详情。包括dockerClient与docker Server详情。其中docker server包含镜像、容器情况,docker所在系统的软硬件情况等。

动力节点Docker实战入门教程(4)Docker容陈可人_docker_73

4.14.4 删除docker中的无用数据

docker system prune命令用于删除docker中的无用数据,这些无用数据包含已经停止的容器、没有任何连接容器的网络、悬空镜像,及悬空镜像的构建缓存。

动力节点Docker实战入门教程(4)Docker容陈可人_docker笔记_74

4.15 总结

4.15.1 容器基础

深刻理解,容器存在的意义就是为其中的应用提供运行环境;容器运行的意义就是为了运行其中的应用,让应用对外提供服务。所以启动容器的目的就是为了启动并运行容器中的应用。所以容器中的应用运行完毕后,容器就会自动终止。

4.15.2 容器创建并启动命令

理解docker run命令用于创建并启动容器,同时其会运行容器中指定的应用。这个指定的应用要么通过docker run中的[command]指定,要么通过容器镜像的Dockerfile中的CMD指令指定。掌握容器的两种启动模式:交互模式-it,分离模式-d。

4.15.3 容器创建命令

理解docker create命令仅用于创建一个容器,并不会启动容器。该命令没有-d选项,因为docker create命令创建的容器默认都是以后台方式来运行的(必须要通过docker start [容器]来启动),除非在创建时指定-it。

4.15.4 容器退出命令

掌握以下两种退出方式:

  • exit:退出并终止当前进程
  • ctrl+p+q:退出但不终止当前进程

4.15.5 容器状态查看命令

掌握docker ps命令中-a、-q、-l、-n选项用法。

4.15.6 容器再进命令

理解docker exec与docker attach的区别与联系:

  • docker exec:会新建一个进程来访问容器进程,一般与-it选项联用,一般使用exit命令退出并终止当前进程
  • docker attach:不会新建进程,而是将标准输入与标准输出直接附着在容器进程之上(使用户可通过键盘来操作容器,使容器中的输出可通过显示器展示给用户)。一般不使用选项,但需要考虑退出容器方式是使用exit还是ctrl+p+q。

4.15.7 容器内进程查看命令

了解docker top命令后可携带ps命令的选项。

4.15.8 容器日志查看命令

理解docker logs查看的是容器中应用的运行日志。这个应用是根据容器创建时命令(docker run或docker create)中的[command]指定,或通过容器镜像的Dockerfile中的CMD指令指定。

4.15.9 容器启停命令

理解以下几点:

  • 容器启动命令启动的是容器本身,但容器在启动的同时会启动一个应用,而这个应用是根据容器创建时命令(docker run或docker create)中的[command]指定,或通过容器镜像的Dockerfile中的CMD指令指定。
  • 容器停止命令停止的是容器本身,但在容器停止之前会先停止容器中的所有进程的运行,也就停止了对外提供服务的应用进程。
  • 暂停命令仅暂停的是容器对外提供服务,容器本身并没有停止运行,所以容器中的应用也就没有停止运行,只不过其不能通过容器再对外提供服务了。
  • 暂停/解除暂停两个命令对tomcat容器中的tomcat进程的运行没有任何影响,这两个命令的运行并不会记录到tomcat的启停日志中。因为tomcat的启停日志记录的仅是tomcat的启动、暂停、解除暂停与停止的状态变化。

4.15.10 容器删除命令

能够区分容器删除与镜像删除命令:容器删除是docker rm,镜像删除是docker rmi。它们都有一个选项-f,表示强制删除。镜像的强制删除,其不会强制删除UP状态的容器的镜像。

4.15.11 容器与宿主机文件传递

  • 深刻理解容器本身就是一个文件系统
  • 理解docker cp命令就是用于完成从一个文件系统复制到另一个文件系统而已,与容器是否运行无关
  • 了解docker cp命令不支持容器间文件的复制

4.15.12 提交容器为镜像

了解docker commit生成的镜像中是包含原镜像的所有分层历史记录的。

4.15.13 导入/导出容器

  • 理解导入/导出容器与导入/导出镜像命令的区别与联系。
  • 理解导入/导出容器与docker commit的区别与联系。
  • 理解docker export是对镜像分层合并后视图的文件系统快照的导出,仅包含合并后的一层镜像信息,不包含原镜像的分层历史记录。

4.15.14 docker system命令集

掌握docker system prune命令用法即可。

标签:容器,tomcat,入门教程,命令,镜像,Docker,陈可人,docker,运行
From: https://blog.51cto.com/zzfmhx/6355504

相关文章

  • 修改docker默认存储路径
    docker消耗内存太严重!!必须申请一个大硬盘,然后修改默认存储路径  停止docker服务servicedockerstopcopy数据到新的存放路径cp-r/var/lib/docker/* /data/docker重命名/var/lib/docker  mv/var/lib/docker/var/lib/dockerbak创建软连接ln-......
  • 离线安装docker-compose
    1.github下载版本https://github.com/docker/compose/releases 2.解压  3. 移到指定目录mvdocker-compose-linux-x86_64/usr/local/bin///修改文件名mvdocker-compose-linux-x86_64docker-compose//授权sudochmod+x/usr/local/bin/docker-compose//查......
  • docker login harbor x509: certificate signed by unknown authority
    前言dockerloginharborx509:certificatesignedbyunknownauthority解决打开/etc/docker/daemon.json,如果没有这个文件新增即可vim/etc/docker/daemon.json加入insecure-registries{"insecure-registries":["harbor.xxxx.com:1111"]}重启dockersudo......
  • Docker - 安装tomcat
     搜索tomcat镜像dockersearchtomcat拉取镜像dockerpulltomcat:[tag]拉取tomcat8dockerpulltomcat:8运行容器dockerrun-d-p8080:8080--nametomcat_hellotomcat:8-d:以后台方式运行-p:8080:8080:端口映射到主机的8080端口--name:将容器命名为tomcat_hello访问界......
  • mac m1 安装docker redis最新版本
    终端输入命令,等待下载成功dockerpullimagesredis:latest查看本地是否下载成功启动redis容器dockerrun-itd--nameredis-dev-p6379:6379redis--name:随便起个名字,比如redis-dev-p6379:6379:映射容器服务的6379端口到宿主机的6379端口。外部可以直接通过宿主......
  • 在命令提示符窗口输入docker ps提示链接错误
    一、前言  在命令行窗口执行dockerps命令的时候,报错了 二、处理方法  提示这个错误可能是dockerdaemon没有打开    发现docker服务没有打开,把docker服务打开试试    然后进入到“C:\ProgramFiles\Docker\Docker”目录下,执行DockerCli.exe-SwitchDaem......
  • docker-compose部署mindoc
    docker-compose部署mindoc由于要写项目文档,记录项目各环境的信息和配置,在网上找了很多的wiki由于项目体量和使用范围上最后选择了MIndoc当然有很多优秀的免费的wikimindoc在window环境部署的方式极其简单https://cloud.tencent.com/developer/article/2184429,linux环境就需要......
  • docker attach和docker exec的区别
    在Docker中,`attach`和`exec`是两个不同的命令,用于与正在运行的容器进行交互。1.`dockerattach`命令用于附加到正在运行的容器的标准输入、输出和错误流。它将连接到容器的主进程,并将其输出直接打印到当前终端。通过`dockerattach`命令,你可以查看容器的输出日志或与正在运行的......
  • Docker CLI docker container attach常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • docker 命令
    #重启sudodocker start|stop|restart  zymall    ##进入docker环境,比如需要添加python依赖,需要先进入docker环境,再pip3install xxx , -u使用那个用户, bashj进入后使用的bashdockerexec-it  -uroot  dockername   bash  ......