docker常见命令

busybox 忙碌的盒子 这个是docker的欺骗层
docker采用半解偶,普通采用完全解偶
根目录 下边两个proc(内存进程) sys伪文件系统
Namespace:六项隔离
usr mnt pid 隔离
uts ipc net 共享

[root@docker1 ~]# cd /proc/17853(进程号)/ns/
[root@docker1 ns]# ll
total 0
lrwxrwxrwx 1 root root 0 Oct 14 15:14 ipc -> ipc:[4026531839]信号量消息列队和共享内存
lrwxrwxrwx 1 root root 0 Oct 14 15:14 mnt -> mnt:[4026531840]挂载点
lrwxrwxrwx 1 root root 0 Oct 14 15:14 net -> net:[4026531962]网络栈端口等
lrwxrwxrwx 1 root root 0 Oct 14 15:14 pid -> pid:[4026531836]进程编号
lrwxrwxrwx 1 root root 0 Oct 14 15:14 user->user:[4026531837]用户和用户组
lrwxrwxrwx 1 root root 0 Oct 14 15:14 uts -> uts:[4026531838]主机名进程名

Cgroup:控制程序对资源的占用。ctrl
1资源的限制。Cgroup可以对进程组使用的资源总额进行限制。
2优先级分配:通过分配的CPU时间片数量及磁盘IO贷款大小,实际上就是相当于控制了进程运行的级别。
3资源统计:Cgroup可以统计系统资源使用量,比如CPU使用时间,内存使用量等课用于按量计费。
4进程控制:可以对进程组执行挂起、恢复等操作。
网络的I/O 磁盘的I/O

sys/fs()/cgroup/
[root@docker1 ns]# cd /sys/fs/cgroup/
[root@docker1 cgroup]# ls
blkio  cpuacct      cpuset   freezer  memory   net_cls,net_prio  perf_event  systemd
cpu    cpu,cpuacct  devices  hugetlb  net_cls  net_prio          pids
[root@docker1 cpu]# cat cpu.shares 
1024 (权重比) hooks---->钩子。能够钩到多少资源就用多少。
[root@docker1 cpu]# cat tasks  ---->进程编号,这里的进程都是1024权限。
[root@docker1 cpu]# cd ../memory/ 内存对内存的限制。
Cgroup的应用:
1)	内存和交换分区限制;
容器内存包括两部分:物理内存和swap.
在docker中可以通过参数控制容器的内存使用:
-m 或 –memory:设置内存的使用限额
--memory-swap:设置内存swap的使用限额。
docker run -it -m 200M --memory-swap 300M centos 
[root@docker1 memory]# cd /sys/fs/cgroup/memory/
[root@docker1 memory]# cat memory.limit_in_bytes      限制的内存量。
9223372036854771712     不限制
cat memory.memsw.max_usage_in_bytes                交换分区的限制
1958977536                                           
2)	容器的CPU限制
3)	限制容器的Block io
dps:每秒读写的数据量。byte per second
iops:每秒IO的次数。    io per second
   --device-read-bps:设置读取设备的bps
   --device-write-bps:设置写入设备的bps
   --device-read-iops:设置读取设备的IOPS
   --device-write-iops:设置写入设备的iops

docker常见命令

  • 镜像操作
    • 搜索镜像
    • 镜像下载:
    • 查看镜像信息:
    • 如何改变文本的样式
    • 查看镜像的历史:
    • 删除镜像
    • 创建镜像
      • 基于自己已有的创建。
      • 基于本地模板导入
      • 基于dockerfile创建
        • CMD说明
        • ENV
        • ARG
        • VOLUME
        • EXPOSE
        • WORKDIR
        • USER
        • HEALTHCHECK
        • ONBUILD
    • 存出和载入镜像
  • 容器操作手册
    • 运行容器
    • 查看所有容器(包括没有运行)
    • 一些常用的容器操作命令:
    • 进入容器
    • 容器的导入和导出
    • 删除容器
    • docker日志
  • docker 默认的网络行为
    • bridge网络(NAT模式)
    • none(仅主机模式)
    • host模式(桥接模式)
      • container模式
    • 创建一个网卡名字为my_net 删除是RM
    • 连接 网络到容器
    • 通过路由方案
      • CNM
      • CNI
    • docker19.03版本及以上的版本打开buildx
      • 启用 buildx 插件
      • 内核升级的方法贴这里吧
      • 使用方法

镜像操作

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

搜索镜像

docker search是关键字
–automated=true|false:仅显示自动创建的镜像,默认为否
–no-trunc=true|false:输出信息不截断显示,默认为否
-s,–stars=X:制定仅显示评价为指定星级的以上的镜像,默认为0。

例如搜索nginx:

docker search --automated -s 3 nginx

docker常见命令_第1张图片Name:镜像名字 DESCRIPTION:描述 STARS:星级 OFFICIAL:是否官方 AUTOMATED是否自动

镜像下载:

docker pull NAME[:tag]   name是仓库的名字tag是镜像的名字。

如果从别的地址下载镜像
如果下载别的网站的镜像需要在镜像前边加上URL
docker常见命令_第2张图片

查看镜像信息:

docker images  

docker常见命令_第3张图片Nginx与mynginx只是镜像的别名,image id是相同的,所以指的的同一个镜像文件。

如何改变文本的样式

docker inspect

docker inspect nginx

返回的json格式的信息也可以只要其中一个信息。
在这里插入图片描述

查看镜像的历史:

docker history nginx

删除镜像

docker rmi name

你可能感兴趣的:(docker,docker,容器)