热点新闻
Docker镜像的原理
2023-07-23 18:43  浏览:618  搜索引擎搜索“爱农网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在爱农网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

Docker运行的整个生命周期






Docker使用多种操作系统的发行版

  1. 一个完整的操作系统,是由linux内核+发行版,组成的一个可以使用的完整操作系统。
  2. 利用docker容器,可以获不同的发行版镜像,然后基于该镜像,运行出各种容器去使用。

查看操作系统的两大组成

# 查看操作系统的发行版 cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

# 查看操作系统内核 uname -r 4.19.12-1.el7.elrepo.x86_64




使用docker,来切换不同的发行版,内核都是使用宿主机的内核

# 利用docker获取不同的发行版镜像 docker pull ubuntu docker pull centos:7.8.2003

# 确认当前宿主机的发行版本 cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

# 查看本地的docker镜像有哪些 docker images # REPOSITORY TAG IMAGE ID CREATED SIZE # nginx latest 4cdc5dd7eaad 32 hours ago 133MB # redis latest 08502081bff6 2 weeks ago 105MB # ubuntu latest 9873176a8ff5 2 weeks ago 72.7MB # centos 7.8.2003 afb6fca791e0 14 months ago 203MB

# 运行centos7.8.2003发行版 # 运行容器,且进入容器内 # 参数 解释 -i(交互式命令操作) -t(开启一个终端) bash(进入容器后执行的命令) docker run -it afb6fca791e0 bash # 查看容器内centos的发行版本 [root@e332fe985eac /]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) # 退出当前的容器空间 exit

# 查看虚拟机的操作系统内核 uname -r 4.19.12-1.el7.elrepo.x86_64

# 进入ubuntu系统 docker run -it ubuntu bash # 查看容器内ubuntu的发行版本 root@5ea99c3a44f1:/# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DEscriptION="Ubuntu 22.04 LTS" # 查看ubuntu的操作系统内核(公用宿主机内核) root@5ea99c3a44f1:/# uname -r 4.19.12-1.el7.elrepo.x86_64

Docker部署服务的优势






Docker镜像原理






Docker镜像 分层原理





# 进入正在运行的容器内 docker exec -it 18c7f9820954 bash # 查看nginx运行使用的基础镜像 root@18c7f9820954:/# cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

Docker镜像 写时复制原理

镜像分层的一大好处就是共享资源,例如有多个镜像都来自于同一个base(基础)镜像,那么docker host只需要存储一份base镜像。

  • 内存里也只需要加载一份host,即可为多个容器服务。
  • 即使多个容器共享一个base镜像,某个容器修改了base镜像的内容,例如修改/etc/下的配置文件,其他容器的/etc/下内容是不会被修改的,修改动作只限制在单个容器内,这就是容器写时复制特性(Copy On Write),如下所示。

















发布人:c402****    IP:120.244.20.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发