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.统计目录大小

相关推荐
shy2005_5_311 分钟前
Java面向对象编程进阶:深入理解static、单例模式与继承
java·开发语言·单例模式
24k小善2 分钟前
flinkOracleCdc源码介绍
java·大数据·flink
蜜獾云8 分钟前
nginx: [error] invalid PID number ““ in “/usr/local/nginx/logs/nginx.pid“
java·前端·nginx
zhujilisa1 小时前
JVM 内存模型
java·开发语言·jvm
tangweiguo030519871 小时前
Android TTL 串口通信工具类封装
android·java
上海大哥1 小时前
Java 后端实现登录+环境配置
java
是小pa丫1 小时前
Apache Tomcat漏洞,对其进行升级
java·tomcat·apache
你啊我啊你好1 小时前
Spring cloud Gateway中的GlobalFilter接口及其方法
java·开发语言·缓存·gateway·软件工程
编程火箭车1 小时前
Java对象的"自我介绍术":彻底搞懂toString()魔法🔮
java·后端·源码
青云交1 小时前
Java 大视界 -- Java 大数据在智能教育虚拟实验室建设与实验数据分析中的应用(132)
java·大数据·开发语言·数据存储·智能教育·虚拟实验室·实验分析