当前位置: 首页 > 后端技术 > Java

Docker学习4-常用命令容器重要命令

时间:2023-04-02 00:45:24 Java

本文是Docker学习系列教程的第四篇。这篇文章是Docker常用命令中的一个重要命令。它为什么如此重要?因为这些命令在以后的开发过程中会经常用到。比如:如何查看容器运行的日志?如何查看容器的运行进程?如何导出我制作的容器?如何导入从其他地方获得的容器?以下是本文的主要内容:1:启动daemon容器(后台启动)在实际工作中,大多数场景下,我们都希望docker服务在后台运行。比如我们运行一个Redis服务,不可能让命令行窗口一直开着。如果关闭,Redis服务就会挂掉。绝对不是这样。我们一般在后台运行Redis。那么Doc??ker是如何在后台运行的呢?这就需要使用后台启动容器的命令。命令公式:dockerrun-d容器名回顾一下前台启动的命令:docker-itimagename[option]2:查看容器日志容器已经在后台守护运行了,那么如何查看这个容器的日志?这就需要使用命令查看容器日志。命令公式:dockerlogscontainerID同样在上面,我们以后台启动的redis为例,查看redis日志:3:查看容器中运行的进程这个命令是查看某个容器的进程PID。命令公式:docker命令containerid比如我们要查看上图中redis服务器的情况。如果是在普通物理机上,可以使用top命令查看Linux服务状态。所以在docker中,使用docker命令containerid。如下图所示:4:查看容器内部的详细信息:我们可以通过这个命令来查看容器更详细的信息。命令公式为:dockerinspectcontainerID5:进入正在运行的容器,与命令行进行交互。我们如何停止在docker中运行的容器?Docker提供了两个退出容器命令:exect-it和attach。这两种退出方式有什么区别呢?接下来大家就用凯歌5.1来学习这两个命令:dockerexec-itcontainerid首先我们看一下dockerexec的帮助:我们在之前的平台上启动了ubuntu。然后使用ctrl+q+p命令退出命令行,但不杀进程。然后ps,查看:可以看到Ubuntu正在后台运行。containerid为:802abbcf5086那我们又想进入Ubuntu怎么办呢?当我们进入Ubuntu时,命令是:dockerrun-itubuntu/bin/bash所以,如果要再次进入,使用exec命令。具体命令如下dockerexec-it802abbcf5086/bin/bash5.2:改写成dockerattach容器idexec和attach有什么区别?attach直接进入容器启动命令的终端,不会启动新的进程。使用exit退出将导致容器停止。exec是在容器中开启一个新的terminal,可以启动一个新的进程。用exit退出后,不会导致容器停止。重新进入容器,推荐使用dockerexec命令!!!因为exec不会导致容器停止。Dockerstop命令总结6:从容器复制文件到宿主机有时候会出现这样的场景,我们需要将容器中的文件从容器复制到宿主机,这个场景是来自于哪个领域的人给主机。docker也支持这种场景。使用的命令公式如下:docketcpcontainerid:containerinternalpathdestinationhostpath比如我们上面在Ubuntu的tmp目录下创建了一个a.txt文件。现在我想将docker中Ubuntu容器中的/tmp/a.txt文件复制到宿主机中。怎么做?命令公式:dockercpcontainerid:容器目标主机路径中的完整内部路径7:导入导出容器这个命令也很重要。比如我们自己做了一个docker镜像,我们应该用什么命令把这个镜像发给别人呢?我从别人那里得到了一个容器,我如何将它导入到我的本地docker中运行它?让我们一起学习这两个命令。export:export将容器的内容流导出为tar归档文件【对应import命令】import:import从tar包内容创建一个新的文件系统并导入为镜像【对应export】案例:dockerexportcontainerid>filename.tar比如我们把上面提到的Ubuntu导出为abc.tar。命令如下:假设我们不小心rm-f了Ubuntu镜像。那么如何恢复呢?您可以使用以下命令:catfilename.tar|dockerimport-imageuser/imagename:imageversionnumber查看导入的image结果:重启并开始导出image:Summary:最后总结一下。如下图所示:一些常用命令介绍1:一些常用命令介绍2: