我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker容器管理的基本命令有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker容器管理的基本命令有哪些

本篇内容介绍了“Docker容器管理的基本命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Docker容器管理的基本命令有哪些

如何运行 Docker 容器?

众所周知,Docker 容器只是一个运行于宿主操作系统上的应用进程,所以你需要一个镜像来运行它。Docker 镜像以进程的方式运行时就叫做 Docker 容器。你可以加载本地 Docker 镜像,也可以从 Docker Hub 上下载。Docker Hub 是一个提供公有和私有镜像来进行拉取操作的集中仓库。官方的 Docker Hub 位于 hub.docker.com。 当你指示 Docker 引擎运行容器时,它会首先搜索本地镜像,如果没有找到,它会从 Docker Hub 上拉取相应的镜像。

让我们运行一个 Apache web 服务器的 Docker 镜像,比如 httpd 进程。你需要运行 docker container run 命令。旧的命令为 docker run, 但后来 Docker 添加了子命令部分,所以新版本支持下列命令:

   root@kerneltalks # docker container run -d -p 80:80 httpd   Unable to find image 'httpd:latest' locally   latest: Pulling from library/httpd   3d77ce4481b1: Pull complete   73674f4d9403: Pull complete   d266646f40bd: Pull complete   ce7b0dda0c9f: Pull complete   01729050d692: Pull complete   014246127c67: Pull complete   7cd2e04cf570: Pull complete   Digest: sha256:f4610c3a1a7da35072870625733fd0384515f7e912c6223d4a48c6eb749a8617   Status: Downloaded newer image for httpd:latest   c46f2e9e4690f5c28ee7ad508559ceee0160ac3e2b1688a61561ce9f7d99d682

Docker 的 run 命令将镜像名作为强制参数,另外还有很多可选参数。常用的参数有:

  • -d:从当前 shell 脱离容器
  • -p X:Y:绑定容器的端口 Y 到宿主机的端口 X
  • –name:命名你的容器。如果未指定,它将被赋予随机生成的名字
  • -e:当启动容器时传递环境编辑及其值

通过以上输出你可以看到,我们将 httpd 作为镜像名来运行容器。接着,本地镜像没有找到,Docker 引擎从 Docker Hub 拉取了它。注意,它下载了镜像 httpd:latest, 其中 : 后面跟着版本号。如果你需要运行特定版本的容器,你可以在镜像名后面注明版本名。如果不提供版本名,Docker 引擎会自动拉取最新的版本。输出的最后一行显示了你新运行的 httpd 容器的唯一 ID。

如何列出所有运行中的 Docker 容器?

现在,你的容器已经运行起来了,你可能想要确认这一点,或者你想要列出你的机器上运行的所有容器。你可以使用 docker container ls 命令。在旧的 Docker 版本中,对应的命令为 docker ps。

   root@kerneltalks # docker container ls   CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                NAMES   c46f2e9e4690        httpd               "httpd-foreground"   11 minutes ago      Up 11 minutes       0.0.0.0:80->80/tcp   cranky_cori

列出的结果是按列显示的。每一列的值分别为:

  • Container ID :一开始的几个字符对应你的容器的唯一 ID
  • Image :你运行容器的镜像名
  • Command :容器启动后运行的命令
  • Created :创建时间
  • Status :容器当前状态
  • Ports :与宿主端口相连接的端口信息
  • Names :容器名(如果你没有命名你的容器,那么会随机创建)

如何查看 Docker 容器的历史纪录?

在第一步我们使用了 -d 参数来将容器,在它一开始运行的时候,就从当前的 shell 中脱离出来。在这种情况下,我们不知道容器里面发生了什么。所以为了查看容器的历史纪录,Docker 提供了 logs 命令。它采用容器名称或 ID 作为参数。

   root@kerneltalks # docker container logs cranky_cori   AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message   AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message   [Thu May 31 18:35:07.301158 2018] [mpm_event:notice] [pid 1:tid 139734285989760] AH00489: Apache/2.4.33 (Unix) configured -- resuming normal operations   [Thu May 31 18:35:07.305153 2018] [core:notice] [pid 1:tid 139734285989760] AH00094: Command line: 'httpd -D FOREGROUND'

这里我使用了容器名称作为参数。你可以看到在我们的 httpd 容器中与 Apache 相关的历史纪录。

如何确定 Docker 容器的进程?

容器是一个使用宿主资源来运行的进程。这样,你可以在宿主系统的进程表中定位容器的进程。让我们在宿主系统上确定容器进程。

Docker 使用著名的 top 命令作为子命令的名称,来查看容器产生的进程。它采用容器的名称或 ID 作为参数。在旧版本的 Docker 中,只可运行 docker top 命令。在新版本中,docker top 和 docker container top 命令都可以生效。

   root@kerneltalks # docker container top  cranky_cori   UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD   root                15702               15690               0                   18:35               ?                   00:00:00            httpd -DFOREGROUND   bin                 15729               15702               0                   18:35               ?                   00:00:00            httpd -DFOREGROUND   bin                 15730               15702               0                   18:35               ?                   00:00:00            httpd -DFOREGROUND   bin                 15731               15702               0                   18:35               ?                   00:00:00            httpd -DFOREGROUND      root@kerneltalks # ps -ef |grep -i 15702   root     15702 15690  0 18:35 ?        00:00:00 httpd -DFOREGROUND   bin      15729 15702  0 18:35 ?        00:00:00 httpd -DFOREGROUND   bin      15730 15702  0 18:35 ?        00:00:00 httpd -DFOREGROUND   bin      15731 15702  0 18:35 ?        00:00:00 httpd -DFOREGROUND   root     15993 15957  0 18:59 pts/0    00:00:00 grep --color=auto -i 15702

在第一个输出中,列出了容器产生的进程的列表。它包含了所有细节,包括用户号、进程号,父进程号、开始时间、命令,等等。这里所有的进程号你都可以在宿主的进程表里搜索到。这就是我们在第二个命令里做得。这证明了容器确实是宿主系统中的进程。

如何停止 Docker 容器?

只需要 stop 命令!同样,它采用容器名称或 ID 作为参数。

   root@kerneltalks # docker container stop cranky_cori   cranky_cori

如何列出停止的或不活动的 Docker 容器?

现在我们停止了我们的容器,这时如果我们使用 ls 命令,它将不会出现在列表中。

   root@kerneltalks # docker container ls   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

所以,在这种情况下,如果想要查看停止的或不活动的容器,你需要在 ls 命令里同时使用 -a 参数。

   root@kerneltalks # docker container ls -a   CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS                     PORTS               NAMES   c46f2e9e4690        httpd               "httpd-foreground"   33 minutes ago      Exited (0) 2 minutes ago                       cranky_cori

有了 -a 参数,现在我们可以查看已停止的容器。注意这些容器的状态被标注为 已退出。既然容器只是一个进程,那么用“退出”比“停止”更合适!

如何(重新)启动 Docker 容器?

现在,我们来启动这个已停止的容器。这和运行一个容器有所区别。当你运行一个容器时,你将启动一个全新的容器。当你启动一个容器时,你将开始一个已经停止并保存了当时运行状态的容器。它将以停止时的状态重新开始运行。

   root@kerneltalks #  docker container start c46f2e9e4690   c46f2e9e4690      root@kerneltalks # docker container ls -a   CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                NAMES   c46f2e9e4690        httpd               "httpd-foreground"   35 minutes ago      Up 8 seconds        0.0.0.0:80->80/tcp   cranky_cori

如何移除 Docker 容器?

我们使用 rm 命令来移除容器。你不可以移除运行中的容器。移除之前需要先停止容器。你可以使用 -f 参数搭配 rm 命令来强制移除容器,但并不推荐这么做。

   root@kerneltalks # docker container rm cranky_cori   cranky_cori   root@kerneltalks # docker container ls -a   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

“Docker容器管理的基本命令有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker容器管理的基本命令有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Docker容器管理的基本命令有哪些

本篇内容介绍了“Docker容器管理的基本命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如何运行 Docker 容器?众所周知,D
2023-06-27

docker基本命令有哪些

这篇文章主要介绍了docker基本命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。docker基本命令docker文件系统docker镜像为分层设计,相比于全量的虚拟
2023-06-29

Docker的基本命令有哪些

小编给大家分享一下Docker的基本命令有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、系统相关命令:1.1 查看docker 的版本信息:docker version1.2 查看docker 系统信息:docke
2023-06-07

docker中容器命令有哪些

这篇文章主要介绍docker中容器命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 下面我们以下载一个centos镜像来做演示。[root@t-docker chenzx]# docker images
2023-06-04

Docker有哪些基础命令

这篇文章主要为大家展示了“Docker有哪些基础命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker有哪些基础命令”这篇文章吧。一:概述使用docker或者docker help 可以
2023-06-04

docker中有哪些基本的指令

这期内容当中小编将会给大家带来有关docker中有哪些基本的指令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、查看当前机器的容器情况 通常情况下,我们可以使用docker ps命令来查看当前机器
2023-06-14

linux的基本命令有哪些

这篇文章将为大家详细讲解有关linux的基本命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一些常用的基本命令:uname -a查看内核版本ls -al显示所有文件的属性pwd 显示当前路径cd
2023-06-17

Docker run流程及镜像的基本命令有哪些

小编给大家分享一下Docker run流程及镜像的基本命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、run 的工作流程当我们在安装完Docker引擎
2023-06-25

HBase管理命令有哪些

这篇文章将为大家详细讲解有关HBase管理命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。HBase管理命令:Help ‘close_region’close_region ‘t3..* 通过we
2023-06-03

Git的基本操作命令有哪些

本篇内容主要讲解“Git的基本操作命令有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Git的基本操作命令有哪些”吧!Git 基本操作Git 的工作就是创建和保存你项目的快照及与之后的快照进
2023-06-17

Helm常用基本命令有哪些

这篇文章主要介绍了Helm常用基本命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Helm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、
2023-06-28

Linux分区管理器的命令有哪些

这篇文章主要讲解了“Linux分区管理器的命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux分区管理器的命令有哪些”吧!GPartedGParted这可能是 Linux 发行
2023-06-28

有哪些docker常用的命令

本篇文章给大家分享的是有关有哪些docker常用的命令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。登录账户export DOCKER_REGISTRY=registry.cn
2023-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录