Docker教程小白实操入门(3)--如何启动一个已经停止的容器

网友投稿 605 2022-10-22

Docker教程小白实操入门(3)--如何启动一个已经停止的容器

一、启动容器方式

1. 基于镜像新建一个容器并启动

docker run [OPTIONS] 镜像名 [COMMAND] [ARG]

​​OPTIIONS​​​: 命令选项,最常用的包括​​-d​​​后台运行容器并返回容器​​ID​​​,​​-i​​​以交互模式运行容器,​​-t​​​为容器分配一个伪输入终端,​​--name ​​指定启动容器的名称。​​COMMAND​​: 设置启动命令,该命令在容器启动后执行。​​ARG​​: 其他一些参数。

例如:

docker run ubuntu:14.04 echo 'hello docker'

docker run的工作:

检查本地是否存在指定的镜像,不存在就从公有仓库下载启动;利用镜像创建并启动一个容器;分配一个文件系统,并在只读的镜像层外面挂载一层可读写层;从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去;从地址池配置一个​​ip​​地址给容器;执行用户指定的启动命令;执行完毕后容器被终止。

2. 如何才能使容器启动后不立即终止?

docker run -it --name firstContainer ubuntu /bin/bash

执行完这条命令后,创建并启动容器之后,执行​​/bin/bash​​​,会启动一个子进程,此时父进程(也就是容器的主进程​​sh​​​)会进入​​sleep​​​状态,由于​​sleep​​状态不是终止状态,所以容器会继续运行。

为什么在容器中输入​​exit​​​或者执行​​ctrl D​​​后,容器将会终止呢,这是因为​​exit​​​会退出(结束)当前进程,也就是​​/bin/bash​​​,由于子进程结束,​​sh​​​主进程恢复到运行态,然而由于没有命令需要继续执行,所以​​sh​​主进程结,因此容器终止。

3. 重新启动在终止状态(​​stopped​​)的容器

docker start [OPTIONS] 容器 [容器2...]

​​OPTIIONS​​: 命令选项;​​容器​​​: 用“容器​​ID​​”或“容器名”表示

// 启动名为firstContainer的容器docker start firstContainer

二、查看容器信息

// 显示所有运行中的容器,包括容器ID,基础镜像,启动命令,创建时间,当前状态,端口号,容器名字docker ps

启动命令为“​​/bin/bash​​​”,创建时间为1分钟之前,当前状态为“​​Up about a minute​​”,也就是已经运行了2分钟了.

// 查看Docker环境中所有的容器,包括已经停止的容器docker ps –a

参考:​​https://educoder.net/shixuns/oiwsvgpf/challenges​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CountDownLatch和Atomic原子操作类源码解析
下一篇:Docker教程小白实操入门(2)--如何从Docker Hub获取镜像
相关文章

 发表评论

暂时没有评论,来抢沙发吧~