Docker 概述
略
Docker 安装
https://blog.csdn.net/wangxiaojing123/article/details/116887667
Docker 常用命令
https://blog.csdn.net/wangxiaojing123/article/details/116887704
Docker 简单 Demo 应用之安装Nginx
https://blog.csdn.net/wangxiaojing123/article/details/116888006
Docker Container 数据存储
Container的数据包括images 镜像和用户的业务数据。通过docker ps -s 可以查看每个容器的数据大致占有量。
- size 为业务数据即容器起来后,咱们真正在容器中运行程序产生的数据
- Virtual 包括 image的大小 + size的大小
但是注意如果两个容器使用相同的镜像或者不同的镜像但是镜像中的层级有共享层级,实际只占用一份大小,但是在统计的时候每个container都会显示出来image的值,所以所有容器占用的总大小不能简单的使用sum(virtual)来计算
[root@vmnode01 ~ 01:04:44]$ docker ps -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
0b78ec9faf55 tomcat "catalina.sh run" 10 hours ago Up 10 hours 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp tomcat02 37.9kB (virtual 667MB)
6fd487b7cff7 centos "/bin/bash" 11 hours ago Up 11 hours cenots03 44B (virtual 209MB)
什么是容器卷
Docker中的数据通过挂在容器卷的方式,将数据持久化到容器以外的地方存储如宿主机、云存储,容器卷中的数据独立于容器的生命周期,容器stop或者删除后,容器卷中的数据仍然存在。
为什么需要容器卷
- 容器中的数据持久化,容器销毁后数据仍然需要保留的场景
eg: 如任务执行日志,虽然任务结束后容器销毁,但是当时执行的日志情况需要保留,则可以将日志保留在宿主机中或者共享云存储中 - 容器之间数据共享,两个容器间的数据需要同步一样,则可以使用容器卷技术
eg: 如Redis多副本方式可以通过这种方式实现 - 容器需要与宿主机共享数据
eg: 将nginx的配置文件放到宿主机,这样修改起来比较方便,修改配置文件只能通过宿主机,容器内对配置文件配置只读,可以通过容器卷方式实现 - 对容器卷的修改不影响镜像
通过Volume使用容器卷
https://docs.docker.com/storage/volumes/
https://docs.docker.com/storage/
https://docs.docker.com/storage/storagedriver/select-storage-driver/