Docker学习实践 (4)-- 创建镜像

base镜像

         1、不依赖其他镜像,从 scratch 构建。
         2、其他镜像可以之为基础进行扩展

能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等,提供最小安装的 Linux 发行版。不同Linux发现版的Docker镜像共用Docker Host 的kernel(bootfs),加载不同的rootfs。

镜像分层结构
镜像可以从头创建scratch,也可以在其他镜像基础上创建扩展,Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。
例如如下Dorkerfile:

FROM ubuntu   //新镜像不再是从scratch开始,而是直接在ubuntu上构建
RUN apt-get install apache2  //安装apache2
CMD ["/bin、bash"] //容器启动时运行bash


新镜像是从 base 镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。容器运行的时候采用Copy-on-Write机制,一层一层向下查找文件,找到后加装到容器层,容器层是加载到镜像的顶部,可写的一层,容器层之下的都是镜像层,容器层可写,镜像层只读。

构建镜像
Docker 提供了两种构建镜像的方法:docker commit 命令、Dockerfile 构建文件
docker commit 命令是创建新镜像最直观的方法,其过程包含三个步骤:
1、运行容器
2、修改容器
3、将容器保存为新的镜像


docker ps //查看运行的容器
docker commit naughty_goldwasser centos-with-vi  //将容器名称为naughty_goldwasser的容器创建一个镜像名为centos-with-vi的镜像。

Dockerfile 构建镜像
Dockerfile 是一个文本文件,记录了镜像构建的所有步骤。
Dockerfile 内容:

执行创建命令
docker build -t centos-with-vi-dockerfile .

镜像列表:

问题

1、attach进入一个base镜像容器,执行ls、date等命令无响应,

2、应用针对不用环境有不同的配置文件,镜像分层结构正好可以用于配置文件覆盖打包成镜像?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值