0
点赞
收藏
分享

微信扫一扫

<爬虫部署,进阶Docker>----第五章 Docker容器基础命令

前言:

        在深入了解Docker的原理和概念之后,掌握基础命令是非常重要的。本章将重点分享Docker的基础命令,帮助读者熟悉和掌握使用Docker的关键操作。通过学习这些命令,大家将能够在容器世界中创建、管理和交互,从而更好地运用Docker进行软件开发和部署。这些基础命令将为读者打下坚实的基础,为后续的Docker使用和探索打开大门。

正文:

1.基础命令直译

        通过在cmd-->   docker container --help      

直接查看他的命令行;

译本:

命令:

attach 连接到一个正在运行的容器,附加本地标准输入、输出和错误流

commit 从容器的更改创建一个新镜像

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

create 创建一个新的容器

diff 检查容器文件系统中文件或目录的变化

exec 在一个正在运行的容器中执行命令

export 导出一个容器的文件系统为tar文件

inspect 显示一个或多个容器的详细信息

kill 终止一个或多个正在运行的容器

logs 获取一个容器的日志

ls 列出容器   # 可以换成ps,ps是早期docker的用法,现在换成了ls

pause 暂停一个或多个容器内的所有进程

port 列出容器的端口映射或者特定容器的映射

prune 删除所有已停止的容器

rename 重命名一个容器

restart 重启一个或多个容器

rm 删除一个或多个容器   #docker container run --rm -it <app> <xxx>  当这个容器退出的时候,会自动删除

run 从一个镜像创建并运行一个新容器 #docker <container> run XXX -->可以不写这个container

start 启动一个或多个已停止的容器

stats 显示一个或多个容器的资源使用统计信息的实时流

stop 停止一个或多个正在运行的容器  #docker <container> stop <container ID> -->这里的id可以用简写,例如只写前面的几位数 ,例如 1abfsfsatt52  -->docker stop 1abf (一样可以停掉)  

top 显示一个容器的运行进程

unpause 恢复一个或多个容器内的所有进程

update 更新一个或多个容器的配置

wait 阻塞,直到一个或多个容器停止,然后打印它们的退出码

2.一些命令的讲解:

A.`-a`的问题:

先上图

解释:

"docker container ls"和"docker container ls -a"是Docker命令行中用于列出容器的命令的不同用法。

  • "docker container ls":这个命令用于列出当前正在运行的容器。它只显示正在运行的容器的列表,不包括已停止的容器。默认情况下,它会列出容器的ID、镜像、创建时间、状态等基本信息。

  • "docker container ls -a":这个命令使用了"-a"参数,意为"all",表示列出所有的容器,包括正在运行的容器和已经停止的容器。它会显示所有容器的列表,包括已停止容器的信息。

区别:
  • "docker container ls"只显示正在运行的容器,这对于快速查看在主机上正在运行的容器很有用。
  • "docker container ls -a"会列出所有的容器,包括已经停止的容器。这对于查看所有容器的历史记录、状态和其他详细信息很有用。
ps :

当你想获取所有容器的信息时,包括已停止的容器,使用"docker container ls -a"。当你只关心正在运行的容器时,使用"docker container ls"。

补:如果想列举出所有容器的名字id,可以用 

docker container ls -aq

这样他就能把全部容器给列举出来了!

B.简写container id 

解释:

在Docker中,容器ID(Container ID)是一个唯一的标识符,用于区分和引用不同的容器。容器ID是一个64个字符的字符串,通常以前几个字符标识容器。

在某些情况下,可以使用简写的容器ID来代替完整的容器ID。这些情况包括:

  1. 在命令行中引用容器:如果容器ID足够独特,可以使用其简写形式来执行诸如docker start <container_id>docker stop <container_id>等命令。

  2. 查看容器日志:使用docker logs <container_id>命令来查看容器的日志。在这种情况下,使用容器ID的简写形式通常足够。

  3. 和其他容器相关的命令:当需要在容器之间进行交互或执行其他和容器相关的命令时,可以使用容器ID的简写来引用相应的容器。

ps:

当存在多个容器的ID以相同的字符开头时,使用容器ID的简写可能会导致引用错误的容器。为了避免歧义,最好使用足够独特的前缀字符,以确保引用正确的容器。

总之,容器ID的简写在引用容器和查看容器的相关信息时非常方便,尤其是容器ID足够独特且不会引起混淆的情况下。

C.docker的停止和移除   stop/rm

docker stop命令:
  • 停止指定容器:可以使用docker stop命令来停止正在运行的容器。例如,docker stop container1将停止名为"container1"的容器。
  • 停止多个容器:通过在命令中提供多个容器的名称或ID,可以同时停止多个容器。例如,docker stop container1 container2将停止"container1"和"container2"两个容器。
docker rm命令:
  • 删除已停止的容器:可以使用docker rm命令删除已停止的容器。例如,docker rm container1将删除名为"container1"的停止状态容器。
  • 删除正在运行的容器:如果需要删除正在运行的容器,可以在命令中使用-f--force选项。例如,docker rm -f container1将强制删除名为"container1"的运行中容器。
  •  删除多个容器:通过提供多个容器的名称或ID,可以一次性删除多个容器。例如,docker rm container1 container2将同时删除"container1"和"container2"两个容器。
ps:

        在执行docker rm命令时,确保容器已停止,否则将无法删除运行中的容器。如果需要同时停止并删除容器,可以使用docker stop <container_id>命令来先停止容器,然后再执行docker rm <container_id>命令。 

或者通过强制删除 :  

docker container rm <container id> -f

这样也可以直接进行强制删除,不需要停止!

D.'-d' 后台运行模式

在Docker中,-d选项用于以后台运行模式(detached mode)启动容器。在启动容器时使用-d选项,容器将在后台运行并且不会阻塞当前终端会话。这意味着可以继续使用终端进行其他操作,而不必等待容器运行完成。

使用-d选项启动的容器将会在后台以守护进程的形式运行,并将输出日志发送到标准输出流。可以使用docker logs命令来查看容器的日志。

解释:

下面是一个示例案例,演示如何使用-d选项以后台运行模式启动一个容器:

假设有一个名为myapp的镜像。要以后台运行模式启动该镜像的容器,可以运行以下命令:

docker run -d myapp

这将以后台运行模式启动myapp容器,并返回一个容器的唯一标识符。

通过添加-d选项,您可以在后台运行容器,而不会看到容器中的输出。如果希望查看容器日志输出,可以使用以下命令:

docker logs <container_id>

<container_id>替换为通过docker run命令获得的容器标识符。这样,就可以轻松地在后台运行容器,同时继续使用终端进行其他操作,如检查和管理其他容器或镜像。

ps:

这里的打印log是一次性的,如果想动态追逐log,可以加  "-f"

docker container logs -f <id>

E:docker exec -it <container_id> 命令

docker exec命令用于在一个正在运行的容器中执行命令。该命令后跟容器的标识符(或名称),然后是要在容器中运行的命令。

解释:

具体而言,docker exec -it <container_id> sh命令的含义是:

  • docker exec:Docker命令,用于在容器内部执行命令。
  • -it:选项,表示要以交互模式(interactive mode)和伪终端(pseudo-TTY)的方式执行命令。这使您可以与容器进行交互,如在终端中输入命令。
  • <container_id>:容器的唯一标识符或名称,用于指定要在其中执行命令的容器。
  • sh:要在容器中执行的命令。在此示例中,使用的是sh命令,它是一个常见的Shell程序。

通过运行docker exec -it 44b sh命令,将进入标识符为44b的容器的Shell环境。可以在这个Shell中输入命令并与容器进行交互。

这对于需要在运行中的容器中执行命令,如进入容器内部调试、运行特定的程序或查看容器的状态,非常有用。

ps:

必须现有一个正在运行的容器,且容器必须具有Shell(如shbash等)才能使用docker exec命令。

F.'docker system prune -f' 命令

快速清除掉所有已经停止/退出运行的容器;

衍生物: 'docker image prune -a ' 快速清除掉所有停止工作的镜像;

举报

相关推荐

第五章

五,Eureka 第五章

MySQL 第五章

第五章 列表

第五章 Tomcat

第五章总结

0 条评论