博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker教程小白实操入门(3)--如何启动一个已经停止的容器
阅读量:2037 次
发布时间:2019-04-28

本文共 1013 字,大约阅读时间需要 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

 

 

 

参考:

转载地址:http://gvkof.baihongyu.com/

你可能感兴趣的文章
数据库设计规范化的 5 个要求
查看>>
手动启动 oracle 服务
查看>>
二 垃圾回收:第06讲:深入剖析:垃圾回收你真的了解吗?(下)
查看>>
ObjectMapper 的一些坑
查看>>
spring 几种获得bean的方法
查看>>
Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
查看>>
SQL查询语句执行顺序详解
查看>>
如何避免创建不必要的对象
查看>>
老司机入职一周,给我们解读 Spring Boot 最流行的 16 条实践
查看>>
maven删除不必要的依赖;优化pom依赖研究
查看>>
不同类型接口的异常处理规范
查看>>
如何决定使用 HashMap 还是 TreeMap?
查看>>
Java泛型:泛型类、泛型接口、泛型方法
查看>>
Java三元表达式拆包
查看>>
图解|为什么HTTP3.0使用UDP协议
查看>>
springboot项目里用MultipartFile获取前端传的file为null问题
查看>>
IDEA 不显示 Services 工具栏
查看>>
Java工程师该如何编写高效代码?
查看>>
kafka详解【二】
查看>>
JAVA中List集合按照对象的某一个或多个字段去重实现
查看>>