Docker—Portainer可视化面板、镜像原理之联合文件系统、分层理解、commit镜像

前言

什么是Portainer

它是Docker图形化界面管理工具!提供一个后台面板供我我们操作。

下载Portainer

docker run -d -p 8088:9000 \
> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

测试

curl localhost:8088

第一次加载可能会比较慢

我们通过外网进行访问,服务器ip:8088

注意:要在阿里云的安全组中打开相应的端口

第一次登陆要设置密码
在这里插入图片描述
然后要设置数据,一般选择本地即可
在这里插入图片描述

镜像原理之联合文件系统

什么是镜像

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

所有的应用直接打包docker镜像,直接运行!

如何得到镜像

  • 从远程仓库下载
  • 自制镜像 Docker file

Docker镜像加载原理

联合文件系统(UFS:是一种分层、轻量级并且高性能的文件系统**,支持对文件系统的修改作为一次提交来一层一层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。

从外面看,只能看到一个文件系统,联合加载会把各层文件叠加起来,这样最终的文件系统会包含所有底层的文件和目录

Docker的镜像实际就是由一层一层的文件系统组成,这种层级系统就是UFS

底层就是主机的内核,我们的容器只是将精简内核OS镜像叠加在内核上面,对于一个精简的OS,roofs可以很小。

commit 镜像

命令

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

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

我们发现我们默认下载的Tomcat的webapps里面是没有东西的,现在我们要添加一些文件,然后提交我们的镜像。

实战测试

启动我们的Tomcat镜像

docker run -it -p 9231:8080 tomcat

检查是否有容器存在

docker ps

确认启动之后,进入容器中

docker exec -it 容器id /bin/bash

将webapps.dist目录下的所有文件复制到webapps目录下

cp -r webapps.dist/* webapps

访问测试是否有页面

localhost:9231

提交我们自己的镜像

docker commit -a="作者" -m="信息" 容器id tomcat:版本号

在这里插入图片描述
查看是否提交成功

docker images

总结

如果你想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像,就好比我们学习vm的时候的快照

当你学到这里之后,你已经入门Docker了

猜你喜欢

转载自blog.csdn.net/m0_46983722/article/details/124740335