Docker基础(五)—容器命令

本文介绍了Docker容器的基本概念和操作,包括拉取镜像、启动交互式与守护式容器、容器ID的随机性以及如何使用dockerexec和dockerlogs命令进行交互和查看日志。还通过实例演示了如何以守护式方式启动redis服务,强调了容器必须有前台进程才能后台运行的机制。
摘要由CSDN通过智能技术生成

我们之前就提过,镜像是创建 Docker 容器的基础,容器是从镜像创建的应用运行实例。这次介绍关于容器的一些基本命令和其运行情况。

首先,我们再次拉取一个Centos的镜像,熟悉 docker pull 镜像名 这条命令

这是我们能之前镜像列表

 这是拉取镜像后的列表

启动容器(此时的启动为交互式启动,会产生伪终端)

docker run -it 镜像ID /bin/bash

大家可能对-it 有不理解了,大家可以参照官网的文档,我这也做了简单的说明

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

 OPTIONS说明:

                --name="容器新名字"       为容器指定一个名称;

                 -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行)

                  -i:以交互模式运行容器,通常与 -t 同时使用;

                  -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

                    也即启动交互式容器(前台有伪终端,等待交互);

                  -P: 随机端口映射,大写P

                  -p: 指定端口映射,小写p

 

这里可以使用任何一个镜像作为实例来启动容器,Ubuntu或者Centos

然后,我是使用的Centos,启动该容器的时候,我使用的是Centos的镜像ID

可见红框的信息,与我们之前的不一样了,这时就已经进入到用Centos镜像运行启动的容器了,2我们可以在此容器中操作linux的命令这样,可以说,此时的容器就是一个Linx环境

我们常见的Lunix文件夹

 

root@后面的数字则是此时启动的容器ID,这里值得注意的是,容器的ID是随机的,每次关闭容器,再次启动的时候,同一镜像的容器ID会改变。

我们先退出此时的容器

再次启动,Centos镜像的容器,观察容器ID变化

可以看出,容器的ID确实已经改变,这也确确实实说明容器的ID是随机的,并不是一层不变的

那么,镜像的ID会不会改变呢?

我们先停止Docker服务

 

 然后,重新启动Dockers服务

 再次查看,镜像ID

可以看出,我们镜像没有发生改变!但是,若是删掉了镜像在重新Pull该镜像的话,镜像ID会发生改变!

启动容器(此时以守护进程启动)

docker run -d 镜像名/镜像ID 

我们以守护运行容器 

 查看此时的容器运行情况

 发现,并没有任何容器在运行,这是为什么呢?

这是因为Docke的机制问题: Docker容器后台运行,就必须有一个前台进程。 容器运行的命令如果不是那些一直挂起的命令,就是会自动退出

所以,不是所有的容器实例都可以作为守护式进程启动

我们可以选择方便的redis作为实例,体会Docker的守护式进程启动

拉取redis:6.0.8镜像

 启动redis

docker run -d redis:6.0.8

 可见,在Docker上确实启动了redis服务并且是以守护式启动

进入正在运行的容器并以命令行交互

docker exec -it 容器ID 

exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止。在日后的容器操作中,多使用此命令最好。

 查看日志

docker logs 容器ID 

 

查看容器内部细节

docker inspect 容器ID

 容器的内部是一系列的json串,详细描述了容器的一切信息

以上就是对Docker容器的一些简单介绍了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值