docker create背后的故事

本文详细介绍了Docker中创建容器的两种方式:dockercreate和dockerrun,并解释了交互型和后台型容器的区别及创建流程。

docker create 和 docker run是创建容器的两个命令。

docker create用于创建一个处于静止状态的容器。

docker run = docker create + docker start

如下图所示,创建容器后,会立刻返回(虽然立刻并没什么卵用)容器的ID,每个容器都有唯一的ID。

211837_VahB_167206.png

1.容器创建命令解析

容器有两种类型:交互型容器和后台型容器,具体的含义就是字面意思,类似于在控制台中执行shell命令添加nohup。

docker run -i -t —name=inspect_shell ubuntu /bin/bash

上面这条语句表示创建一个交互型容器,其中:

-i表示打开容器的标准输入;

-t表示为容器建立一个命令行终端;

-i和-t是创建交互型容器的基本设置,创建的是后台型容器时使用的参数是-d。

--name表示指定一个容器的名字,可选项;

ubuntu参数表示使用哪个镜像去创建容器。ubuntu是一个基础镜像,类似的基础镜像还有centos、fedora等等;

/bin/bash表示在容器中执行的命令;

2.图解容器的创建流程

a. 运行docker run命令后,docker先在本地搜索指定的镜像;

b. 如果没有找到指定镜像,就去公有仓库DockerHub中搜索并下载指定镜像;

    如果在公有仓库上也找不到指定镜像,创建失败,如下;

211856_ioPZ_167206.png

c. 使用指定镜像创建容器并启动;

d. 分配文件系统和配置容器的网络。 容器的文件系统是在只读的镜像文件上增加一层可读写的文件层,这样做可以保证镜像不变而只是记录改变的数据;

e. 执行应用程序;

f. 停止;

容器的创建流程如下图所示:

212052_we75_167206.jpg


参考文档:《Docker开发实践》第二章2.1.1创建容器。

转载于:https://my.oschina.net/justfairytale/blog/644776

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值