我们一起学docker之五:容器

上一节我们了解了docker的镜像等内容,为了更好的学习docker的内容,我们按照三大基础概念的方式进行讲解基础命令的使用内容。

为了方便讲解,这里我们讲解的内容都是基于服务器可以成功访问互联网的情况下,请注意!!

本章我们继续讲解docker的三大基础概念中的一个:容器。

简单的说,容器是镜像运行环境的展示,也是运行镜像的一个实例。之前讲过,若觉得容器不好理解,而你理解VM的虚拟机的内容,那你可以把容器想象成我们创建的一个VM虚拟机。虽然不是,但是方便你去理解。

容器的优点是十分的轻量级,你可以随时随地的创建、删除。

#1.创建容器

1.1 创建一个不自行启动的容器

基于标签为skyfans的镜像创建一个tomcat容器

docker create -it tomcat:skyfans

在这里插入图片描述
当我们使用如上命令创建容器时,默认容器是不会自行启动的,需要我们手动启动。
在这里插入图片描述

1.2 启动刚才创建的镜像

docker start  2ef43537abd4

这时,我们在查看刚才的容器,发现此容器已经成功启动了,并且端口是8080。
在这里插入图片描述
是不是感觉有点麻烦,那是否可以直接创建一个容器同时就启动它呢,那是必须可以的!

1.3 创建一个容器并直接启动容器

docker run -itd tomcat:skyfans

1.4 查看容器状态

docker ps -a

我们可以看到,我们刚才创建了一个容器,并且成功的直接启动了容器,无需再执行docker start命令去启动容器了。
在这里插入图片描述

2. 进入容器

命令格式:docker exec -it 容器ID 环境语言(可以是sh/bash/等)

docker exec -it 4be18e964de5 bash

在这里插入图片描述
这样,我们就进入到了容器的内部,你是不是会很好奇,那容器内部是什么呢?好我们来看下。

ls 
pwd

在这里插入图片描述
根据图中我们可以看到咦?当我在/下执行ls命令的时候,查看到的文件列表是不是都是很熟悉呢?没错,那些都是我们日长使用的linux服务器的的文件。所以说,我们可以把容器理解为一个小的虚拟机。它包含了操作系统及很多的文件内容,像不像一个微型的服务器??这也是docker的一个优点所在,轻小!!!当然,你也可以在容器里执行各种Linux命令,但是要小心的是镜像中可能会没有这个命令,例如图中ll命令就没有。

3.退出容器

两种方式
(1)在命令行下输入exit命令
(2)按住ctrl+d即可退出容器。

在这里插入图片描述

4.停止容器

例如我们想让部署的重启停止该如何操作呢?我们来拿刚才我们启动的tomcat的容器做操作。
记录当前容器状态(注意观察status状态):

docker  ps

在这里插入图片描述

docekr stop  4be18e964de5

当我们把容器停止后,记得要在查看docker容器的状态,需要加-a参数,否则我们会找不到刚才停止的那个容器。注意:docker ps 是查看当前正在运行的容器!!

docker ps -a

在这里插入图片描述
我们发现容器的status的状态已经是在2S之前退出了,说明此容器已经停止了。停止后的容器,我们仍然可以使用docker start来启动它。

docker start 4be18e964de5
docekr ps

在这里插入图片描述
我们看到,容器已经启动起来了,在2秒之前。

5.重启容器

那不难理解,我们当把容器理解为linux系统的虚拟机时,我们要重启系统应该怎么操作?对,执行reboot命令。但是容器的重启命令不是reboot,而是restart.

再次记录刚才操作的容器的情况,由于老师的服务器上面有多个启动的容器,为了不影响我们的视线,那我们过滤下,只看用于测试的容器:

docker ps |grep tomcat

在这里插入图片描述
记录启动时间 :2分钟前。我们去执行重启容器命令,这里我又犯了懒病,就使用容器的ID的前三位了啊:

docker restart 4be

在这里插入图片描述
我们有没有发现,重启后,容器的运行时间变成了2S。是不是感觉很方便,这里执行一个命令我们就可以查看到容器的几乎管理的所有内容,包括容器的名字,ID,启动时间,运行时差,端口等等,是不是感觉非常的方便?????

每个内容的删除操作我都习惯最后将,为啥?因为删除太危险,操作需谨慎!!!!

6.删除容器

命令格式:docekr rm 容器ID
那我们就操作我们刚才创建的容器

docker rm 4be18e964de5

在这里插入图片描述
什么?出现了这个提示??啥情况??哦,仔细读下发现哦,他说正在运行的容器是不允许你进行删除的。那就是说,我们还需要把这个容器先停止,在删除。嗯,是不是感觉安全了些呢?

docker  stop 4be18e964de5
docker rm 4be18e964de5

在这里插入图片描述
这时,我们发现已经成功删除了刚才的容器。

好,容器部分的内容差不多已经讲解完了。关于容器还有存出和载入的内容,这里我们就不讲了,可以参考:docker私有镜像仓库搭建(可供本地及私有环境使用)

这个是对docker操作的一个完整的总结流程,想学的同学不要手懒,去照着做一遍。

我们来总结下:
docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG…]

决定容器的运行方式,前台执行还是后台执行(后台命令需要加什么)

docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。

docker exec来进入到到该容器中,或者attach重新连接容器的会话

进行交互式操作(例如Shell脚本),那我们必须使用-i -t参数同容器进行数据交互

docker run时没有指定–name,那么deamon会自动生成一个随机字符串UUID

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值