docker 存储管理

命令回顾:docker run = docker pull+docker create + docker start

停止容器 docker stop 8a

列出所有容器 docker ps -a

把容器放在后台运行 docker run -d = 把程序放在后台运行 cp -a /usr/ /tmp/ &

查看后台运行的任务 jobs

docker run -d -p(映射端口方便外部应用访问)--name web01(设置容器名字,也可不戴这个参数系统自动取名)nginx(镜像名字后面不加tag默认是latest)

案列一不接映射端口参数

应用场景:数据库不需要对外,内部容器与容器互访

查看容器完整ID, 查看容器IP地址,

换火狐浏览器访问

接-P参数默认做端口映射

容器默认监听80端口,查看方法

只显示容器ID

把所有状态为结束的容器列出来

应用命令执行的结果$() 派上用场了

批量删除所有状态为结束的容器

批量删除所有容器

核心技术

命名空间-资源隔离

ip netns ls

资源控制cgroup:Controller Group 控制组

复制代码
[root@lili cgroup]# pwd
/sys/fs/cgroup

可限制磁盘IO,限制内存使用;

限制容器使用200M内存

复制代码
[root@cce ~]# docker run -m 200M -d -p 8090:80 --name web05 nginx

查容器配置信息

复制代码
[root@cce ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
cf4e47aad40d   nginx     "/docker-entrypoint...."   50 minutes ago   Up 50 minutes   0.0.0.0:8090->80/tcp, :::8090->80/tcp   web05
a538703d8255   httpd     "httpd-foreground"       59 minutes ago   Up 59 minutes   0.0.0.0:8899->80/tcp, :::8899->80/tcp   web03
[root@cce ~]# docker inspect cf
--------------------
查看容器限制内存200M
[root@cce ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED        STATUS                    PORTS     NAMES
cf4e47aad40d   nginx     "/docker-entrypoint...."   19 hours ago   Exited (0) 18 hours ago             web05
a538703d8255   httpd     "httpd-foreground"       19 hours ago   Exited (0) 18 hours ago             web03
[root@cce ~]# docker inspect cf |grep -i memory
            "Memory": 209715200,
            "MemoryReservation": 0,
            "MemorySwap": 419430400,
            "MemorySwappiness": null,
------------------------
没有限制内存的容器
[root@cce ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED        STATUS                    PORTS     NAMES
cf4e47aad40d   nginx     "/docker-entrypoint...."   19 hours ago   Exited (0) 18 hours ago             web05
a538703d8255   httpd     "httpd-foreground"       19 hours ago   Exited (0) 18 hours ago             web03
[root@cce ~]# docker inspect a5 |grep -i memory
            "Memory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
[root@cce ~]# 
--------------
关闭开启容器
[root@cce ~]# docker stop cf
cf
[root@cce ~]# docker start cf
cf
---------

查看容器镜像

复制代码
[root@cce ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    66f8bdd3810c   10 days ago    192MB
busybox      latest    517b897a6a83   2 months ago   4.27MB
httpd        latest    494b2b45fd74   4 months ago   147MB
centos       7         eeb6ee3f44bd   3 years ago    204MB

扩展:衡量磁盘性能-两个指标(bps和iops)

bps代表每秒读写的带宽

iops代表每秒处理IO数量

对于大IO而言(每秒写10MDA(大于256K都属于大IO))用bps带宽衡量合适;对于小IO而言用iops衡量合适,限制它的iops

删除已退出任务的容器

Docker数据管理

数据卷-默认存放在本地磁盘里

底层目录就是镜像存放的位置;上层目录就是存放修改内容的位置,整合后的目录此刻我在容器中看到的内容

Linux文件系统简介:

linux文件系统由bootfs和rootfs组成,bootfs主要包含bootloader和kernel,bootloader主要是引导加载kernel,当kernel被加载到内存之后bootfs就被卸载掉了。rootfs包含的就是典型linux系统中的/dev,/proc,/bin,/etc等标准目录

Docker存储

写时复制CoW / 链接克隆

针对已有文件的修改场景,表示只在写时才去复制。

多个容器使用同一个镜像时,并不会为每个容器分配一个image一样的文件系统,所有数据都从image读取,只有当要对文件进行写操作时,才从Image里把要写的文件复制到自己的文件系统进行修改。

引申:1.统计拷贝所花费时间

引申:2.统计目录大小

引申:3.统计目录大小

相关推荐
LSL666_8 分钟前
JVM面试题——垃圾回收GC
java·开发语言·jvm
白宇横流学长10 分钟前
化妆刷生产管理系统分析与设计
java
洛_尘15 分钟前
MiniMQ(单元测试报告)
java·测试
一轮弯弯的明月21 分钟前
有序整数对个数-欧拉函数
java·算法·蓝桥杯·学习心得
lifewange23 分钟前
Java 自动化测试参数化实现
java·数据库·sqlserver
yuweiade23 分钟前
使用 Docker 部署 RabbitMQ 的详细指南
docker·容器·rabbitmq
码上农民24 分钟前
Idea2025.3.3专业版安装和无限试用
java·ide·intellij-idea
CDN36025 分钟前
CDN 回源异常、源站压力大?负载均衡与回源策略优化
java·运维·负载均衡
ywlovecjy25 分钟前
怎么下载安装yarn
java
凌冰_29 分钟前
异常: Can not set java.lang.Double field org.hlx.my2.pojo.Book.price
java·开发语言