【Docker学习总结】5.Docker容器的基本操作

我们来学习如何操作docker容器:

(1)启动容器

在docker中,我们使用run命令来启动一个容器,并执行容器中的命令。
run命令的格式如下:

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

其中第一个参数“IMAGE”,是指定启动容器所指定的操作系统镜像。后面的“COMMAND”、“ARG”指的是容器启动后,运行的命令及其参数。
下面我们启动一个容器,并输出“Hello World”:

上面我们输入了“docker run centos echo "Hello World"”,docker检测到目前本地仓库没有名为“centos”的镜像,然后自动从我们之前建立连接的远程仓库中进行Pull操作(可以认为是从远程下载至本地仓库),然后加载为本地的容器(镜像+可读层),最终在该容器中执行了echo命令,打印了“Hello World”。而再次执行该命令时,就会直接打印,因为容器之前已经创建成功了,无需再次下载。
最后,我们的容器在执行完命令之后,就停止了。所以,这里的容器只是执行单次命令的一个容器。

这里一次启动,执行一个命令的容器,是docker中最基本的容器运行方式。
 

(2)启动交互式容器

启动交互式容器依然使用run命令,只是需要添加一些参数,命令的格式如下:

docker run -i -t IMAGE /bin/bash

这里在run命令后添加了“-i”和“-t”的参数,并在容器启动时,运行“bash”命令。其中:
●-i --interactive=true|false
是指interactive,是用来告诉docker守护进程,为容器始终打开标准输入。其值为true或false,默认是false。

●-t --tty=true|false
是指tty,是用来告诉docker,要为创建的容器分配一个伪tty终端,这样,新创建的容器,才能提供一个交互式的shell。其值为true或false,默认是false。
下面我们来演示一下,在启动时添加“-i”和“-t”的参数,并使用base命令来启动:

docker run -i -t centos /bin/bash

我们可以看到,输入命令之后,命令行跳入了另一个shell交互平台上,而这个交互平台,就是操作系统为“centos”的容器的base交互界面。通过这个页面,我们就可以于新建的容器进行交互,运行一些常用的命令,就像我们在使用虚拟机一样:

想要退出容器的话,使用“exit”命令来退出:

【注意】exit退出容器后,容器就关闭了! 若是ctrl+p ctrl+q的方式退出容器,那么容器可以在后台运行!

(3)查看容器

如何查看曾经建立过的容器呢?这就需要docker的“ps”命令:

docker ps [-a][-l]

其中“-a”是指列出所有的容器,而“-l”是指列出最新创建的容器。

当不给ps指定任何参数时,docker的ps命令返回的是正在运行的docker容器。要查看所有的容器,就需要使用“-a”参数。

我们可以看到,这里列出来容器,就是最近我们运行过的容器。我们注意到,该列表给出了很丰富的信息:
第一列【CONTAINER ID】,是一串数字和字母的组合,这是docker的守护进程在启动容器时,为容器分配的唯一ID。而最后一列【NAMES】,也是docker守护进程为容器自动分配的名字。
如果我们需要查看具体的容器信息,可以使用inspect命令:

docker inspect 容器ID|容器NAME

当然,每次使用ID查看也很不方便,使用docker自定义的名字也挺记不清的,这里docker提供了能够自定义容器的命名方式:

docker run --name=自定义名 -i -t IMAGE /bin/bash

(4)重新启动停止的容器

docker提供了一个重新启动已经停止的容器的方式。使用start命令即可:

docker start [-i] 容器ID|容器NAME

(5)删除停止的容器

除了重新启动停止的容器外,我们也可以删除停止的容器(不能删除正在运行的容器):

docker rm 容器ID|容器NAME

(6)总结

●docker run --name=自定义名 -i -t IMAGE /bin/bash
●docker ps -a -l
●docker inspect 容器ID|容器NAME
●docker start 容器ID|容器NAME
●docker rm 容器ID|容器NAME

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值