运用这 8 个指令能够学习 Docker 容器的根本管理方法。这是一个为 Docker 初学者预备的,带有演示指令输出的攻略。
在这篇文章中,咱们将带你学习 8 个根本的 Docker 容器指令,它们控制着 Docker 容器的根本活动,例如 运转run、 罗列list、 中止stop、 检查历史纪录logs、 删去delete 等等。假如你对 Docker 的概念很生疏,引荐你看看咱们的 介绍攻略,来了解 Docker 的根本内容以及 怎么 在 Linux 上装置 Docker。 现在让咱们从速进入要了解的指令:
怎么运转 Docker 容器?
众所周知,Docker 容器仅仅一个运转于宿主操作体系host OS上的运用进程,所以你需求一个镜像来运转它。Docker 镜像以进程的方法运转时就叫做 Docker 容器。你能够加载本地 Docker 镜像,也能够从 Docker Hub 上下载。Docker Hub 是一个供给公有和私有镜像来进行拉取pull操作的会集库房。官方的 Docker Hub 坐落 hub.docker.com。 当你指示 Docker 引擎运转容器时,它会首要查找本地镜像,假如没有找到,它会从 Docker Hub 上拉取相应的镜像。
让咱们运转一个 Apache web 服务器的 Docker 镜像,比方 httpd 进程。你需求运转 docker container run 指令。旧的指令为 docker run, 但后来 Docker 添加了子指令部分,所以新版别支撑下列指令:
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。
列出的结果是按列显现的。每一列的值分别为:
Container ID :一开端的几个字符对应你的容器的仅有 ID
Image :你运转容器的镜像名
Command :容器发动后运转的指令
Created :创立时刻
Status :容器当时状况
Ports :与宿主端口相连接的端口信息
Names :容器名(假如你没有命名你的容器,那么会随机创立)
怎么检查 Docker 容器的历史纪录?
在第一步咱们运用了 -d 参数来将容器,在它一开端运转的时分,就从当时的 shell 中脱离出来。在这种情况下,咱们不知道容器里边发生了什么。所以为了检查容器的历史纪录,Docker 供给了 logs 指令。它选用容器称号或 ID 作为参数。
这儿我运用了容器称号作为参数。你能够看到在咱们的 httpd 容器中与 Apache 相关的历史纪录。
怎么确认 Docker 容器的进程?
容器是一个运用宿主资源来运转的进程。这样,你能够在宿主体系的进程表中定位容器的进程。让咱们在宿主体系上确认容器进程。
Docker 运用闻名的 top 指令作为子指令的称号,来检查容器发生的进程。它选用容器的称号或 ID 作为参数。在旧版别的 Docker 中,只可运转 docker top 指令。在新版别中,docker top 和 docker container top 指令都能够收效。
在第一个输出中,列出了容器发生的进程的列表。它包含了一切细节,包含用户号uid、进程号pid,父进程号ppid、开端时刻、指令,等等。这儿一切的进程号你都能够在
宿主的进程表里查找到。这便是咱们在第二个指令里做得。这证明了容器确实是宿主体系中的进程。
怎么中止 Docker 容器?
只需求 stop 指令!相同,它选用容器称号或 ID 作为参数。
怎么列出中止的或不活动的 Docker 容器?
现在咱们中止了咱们的容器,这时假如咱们运用 ls 指令,它将不会出现在列表中。
所以,在这种情况下,假如想要检查中止的或不活动的容器,你需求在 ls 指令里一起运用 -a 参数。
有了 -a 参数,现在咱们能够检查已中止的容器。留意这些容器的状况被标示为 已退出exited。已然容器仅仅一个进程,那么用“退出”比“中止”更适宜!
怎么(从头)发动 Docker 容器?
现在,咱们来发动这个已中止的容器。这和运转一个容器有所区别。当你运转一个容器时,你将发动一个全新的容器。当你发动一个容器时,你将开端一个现已中止并保存了当时运转状况的容器。它将以中止时的状况从头开端运转。
怎么移除 Docker 容器?
咱们运用 rm 指令来移除容器。你不能够移除运转中的容器。移除之前需求先中止容器。你能够运用 -f 参数调配 rm 指令来强制移除容器,但并不引荐这么做。
你看,一旦移除了容器,即便再运用 ls -a 指令也检查不到容器了。