镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时,库,环境变量和配置文件,
所有应用,直接打包,docker ,就可以直接部署
从远程仓库下载,
他人拷贝,
自己制作一个镜像dockerfile
docker镜像加载原理。
UnionFS联合文件系统,
它是一种分层,轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到,同一个虚拟文件系统下,union 文件系统是Docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像(没有父镜像)可以制作各种具体的应用镜像,

bootfis (boot file system)系统启动需要加载。bootloader和kernel .bootloader主要是引导加载kernel linux刚启动会加载bootfs 文件系统,在Docker 镜像最底层就是bootfs 这一层是与典型的linux和unix系统是一样的,包含boot 加载器和内核。加载完成后内核存在于内存中,此时内存的使用权由bootfs交给内核了,系统已卸载bootfs
黑屏---开机,过程就是加载
rootfs 文件系统,典型的linux /dev/porc/root/home rootfs就是各各不同的操作系统发行版,比如ubuntu centos 等等,

docker commit 提交容器成为一个新的副本
命令gitl

docker commit -m="提交的描述信息" -a= "作者" 容器id  目标镜像名:[tag]

[root@localhost ~]# docker run -it -p 8080:8080 tomcat 启动tomact
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/openjdk-11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
03-Jan-2022 07:50:41.914 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/10.0.14
03-Jan-2022 07:50:41.952 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Dec 2 2021 22:01:36 UTC
03-Jan-2022 07:50:41.953 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.14.0
03-Jan-2022 07:50:41.953 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
03-Jan-2022 07:50:41.954 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-1160.el7.x86_64
03-Jan-2022 07:50:41.965 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
03-Jan-2022 07:50:41.965 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/openjdk-11
 
 
[root@localhost ~]# docker ps 查看
CONTAINER ID   IMAGE                 COMMAND             CREATED          STATUS          PORTS                                       NAMES
26401315fa03   tomcat                "catalina.sh run"   50 seconds ago   Up 41 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   hopeful_lewin
30662e30fb0a   portainer/portainer   "/portainer"        45 minutes ago   Up 44 minutes   0.0.0.0:8088->9000/tcp, :::8088->9000/tcp   suspicious_tharp
[root@localhost ~]# docker stop 30662e30fb0a 只留下tomcat
30662e30fb0a
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED              STATUS              PORTS                                       NAMES
26401315fa03   tomcat    "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   hopeful_lewin
 
[root@localhost ~]# docker exec -it 26401315fa03  /bin/bash  #进入tomcat
root@26401315fa03:/usr/local/tomcat#
root@26401315fa03:/usr/local/tomcat# ls webapps发现默认的tomcat meiy webapps 应用,镜像原因
root@26401315fa03:/usr/local/tomcat# cd webapps
root@26401315fa03:/usr/local/tomcat/webapps# ls
root@26401315fa03:/usr/local/tomcat/webapps# cd ..
root@26401315fa03:/usr/local/tomcat# cp -r webapps.dist/* webapps 拷贝进去基本文件
root@26401315fa03:/usr/local/tomcat# cd webapps
root@26401315fa03:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
#以后就使用下面的镜像,修改过后的镜像更方便。
[root@localhost ~]# docker commit -a="lingluan" -m="add webapps app" 26401315fa03 tomcat0001:1.0
加冒号是说明版本信息
sha256:a22c9a74a6f86bef6275494e51be9fd80171cca2100497e1c52a3daba8fadf0a
[root@localhost ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
tomcat0001            latest    a22c9a74a6f8   6 seconds ago   684MB
tomcat                latest    13b1026f5ad2   2 minutes ago   684MB
nginx                 latest    605c77e624dd   4 days ago      141MB
tomcat                9.0       b8e65a4d736d   11 days ago     680MB
tomcat                <none>    fb5657adc892   11 days ago     680MB
redis                 latest    7614ae9453d1   12 days ago     113MB
centos                latest    5d0da3dc9764   3 months ago    231MB
portainer/portainer   latest    580c0e4e98b0   9 months ago    79.1MB
elasticsearch         7.6.2     f29a1ee41030   21 months ago   791MB