Linux企业应用——Docker(二)之Docker镜像的构建、Dockerfile的编写、镜像的优化

一、镜像的分层结构

1.镜像

在这里插入图片描述
1.镜像共享宿主机的kernel内核
使用 docker run -it busybox进入镜像构建容器的终端,uname -a查看内核与宿主机内核相同

[root@k8s2 ~]# docker run -it busybox
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
/ # uname
Linux
/ # uname -a
Linux 7366ce1a8fa2 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 GNU/Linux
/ # exit
[root@k8s2 ~]# uname
Linux
[root@k8s2 ~]# uname -a
Linux k8s2 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2.base镜像提供的是最小的Linux发行版
3.同一docker主机支持运行多种Linux发行版
4.采用分层结构的最大好处是:共享资源
5. docker从上往下依次查找文件,一个镜像最多127

2.Copy-on-Write 可写容器层

在这里插入图片描述
可写容器是指可以在容器内操作,(但是退出后,容器被回收),容器层以下所有镜像层都是只读的,封装容器为新的镜像时,容器层保存镜像变化的部分,并不会对镜像本身进行任何修改


[root@k8s2 ~]# docker run -it busybox
/ # ls
bin   dev   etc   home  proc  root  sys   tmp   usr   var
/ # cd home/
/home # ls
/home # touch file1
/home # touch file2
/home # ls
file1  file2
/home # exit
[root@k8s2 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

二、镜像的构建

使用docker run -it --rm busybox运行镜像,-it会进入到容器终端,–rm运行结束后自动删除
Ctrl+ p+ q:将运行镜像打入后台
Ctrl+ d:结束运行

运行后,我们可以看到生成了一个容器,ID为d0911da8a366,名字自动生成为 recursing_blackwell

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值