docker镜像讲解

镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时,库,环境变量和配置文件,

所有应用,直接打包,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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容