您当前的位置: 首页 >  docker
  • 2浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

软件工程小施同学 发布时间:2020-10-01 22:27:12 ,浏览量:2

一、启动容器方式 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://www.educoder.net/shixuns/oiwsvgpf/challenges

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0415s