Docker学习笔记
创始人
2024-01-25 01:15:07
0

1.docker比vm快的原因:

        docker有着比虚拟机更少的抽象层,不需要实现硬件资源的虚拟化运行,运行在docker上的程序使用的都是物理机的资源.

        dicker利用的是宿主机的内核,不需要加载操作系统的os内核.

2.docker帮助文档docker help

        具体到某一个命令是使用 docker run --help即可

3.docker images的表头说明

        repository :表示镜像的源仓库 

        tag: 表示镜像的标签版本号(同一个仓库源可以有多个tag,不说明是默认版本,也可以指定版本)

        image id  镜像id

        created 创建时间

        size 镜像大小

4.docker search --limit 5 redis 搜索前5条redis

5.doker pull 镜像名字[:TAG]  eg:docker pull hello-world    docker pull redis:6.0.8

6.docker system df 列出当前docker上装载的实例

 7.docker rmi -f 镜像ID 删除单个镜像,

     docker rmi -f$(docker images -qa)删除全部镜像, 其中docker images -qa是查询全部id的命令

8.虚悬镜像: 仓库名 和 标签都是none 的镜像

9.要有镜像才能创建容器,也就是说要在docker上创建一个ubuntu或者centos才行

 10.docker中使用run来按照对象生成一个个的实例.

      docker run [options(有些是一个-,有些是两个--)]  image [command][arg...]

        options说明:

            --name ="容器名字" 为容器指定名字

            -d: (详情见15点)后台运行容器并返回容器id,即启动守护式容器 

            -i: 交互模式启动容器,

            -t: 为容器重新分配一个伪输入终端,通常与-i一起使用(docker run -it hello-world)

                如果启动ubuntu系统,需要bash, docker run -it  ubuntu /bin/bash

                退出终端: exit

            -p :指定端口,

            -P:随机端口

11.docker ps 列出所有正在运行的容器实例

        -a: 当前以及历史上运行过的实例

        -l: 最近创建过的容器

        -n:最近创建的n个容器

        -q: 只罗列容器id

12.退出容器:

        exit run进去容器,exit停止,容器停止

        ctrl+p+q: run进去容器,ctrl+p+q 退出,容器不停止

 13.启动已经停止的容器:

        docker start 容器id

14.删除已经停止的容器

        docker rm 容器id  强制删除: docker rm - f  容器id名字

         删除镜像使用 docker rmi 镜像名字

15.docker如果使用docker run -d ubuntu启动实例,会返回一串id,但是 在使用docer ps -a 查看,会发现,并没有刚才已经启动的实例,这是因为docker容器后台运行,就必须有一个前台进程,容器运行的命令如果不是那些一直挂起的命令,比如top.tail,他是会自动退出的.常见的解决方式是以-it 的形式前台运行,这样不会自动退出 .

        redis举例:

        前台启动redis : docker run -it redis 出现了熟悉的redis的图标

        后台守护启动redis: docker run -d redis  这种命令启动的redis是可以的,上文提到的ubuntu是不能以这种方式启动的.

         监控: docker logs id

16.docker 的理解: 

        从面向对象的角度来看.docker利用容器独立运行的一个或者一组应用,容器是用镜像创建的运行实例,容器为镜像提供了一个标准的隔离的运行环境,每个容器都是相互隔离的,保证安全的平台.

        从镜像容器角度:可以把容器看做是一个简易版本的linux环境(包括root用户权限,进程空间,用户空间等)以及运行在其中的应用程序.

17.进入正在运行的容器,并进行交互

      1.docker exec 参数(-it)  容器id  命令  eg: docker exec -it a2dsaaf /bin/bash   无论是何种类型的容器这里都要是-it 容器id /bin/bash 这里这个bin/bash必须加,如果启动的时候,可以不加,这里不加会报错如下:

      2.docker attach 容器id

      二者区别:attatch会直接进入容器命令的终端,不会启动新的进程,用exit退出,会导致容器的停止

                      exec是在容器中打开新的终端,并且可以启动新的进程,也就是说在使用exec执行                              后, 再用exit不会导致容器的终止,使用docker ps命令仍然可以查看到这个容器.

18:docker备份:

        1.拷贝文件到主机:

             docker cp 容器id:容器内的路径 目的主机路径

        2.备份整个容器:

                docker export 容器id > 想要导出成什么名字.tar

         3.将tar导回到原容器:

                cat 文件名.tar|docker import-镜像用户/镜像名:镜像版本号

 然后docker run -it  ycl/ubuntu /bin/bash,  此时得到的容器是之前导入的相同的容器

 19.docker镜像的加载原理:

        docker镜像实际是一种多层次的文件系统组成的,这种层级的文件系统叫UnionFS,对外暴露成一个系统,对内,则像花卷一样,是层层堆叠的.

        bootfs主要包含bootloader和kernel,就像上文提到的一样,可以把容器看做是一个简易版本的linux环境,bootloader的主要作用就是引导加载kernel,linux刚启动的时候会加载bootfs文件系统,在docker镜像的最底层是引导文件系统bootfs,这一层与linux/Unix系统是一样的,包含boot加载器和内核,当boot加载完成后,整个内核就在内存中了,此时内存的使用权交给内核,并卸载bootfs.

        rootfs,在bootfs之上,包含的是典型的linux系统中的/dev ,/proc, /bin等标准目录和文件,rootfs就是各种不同的操作系统的发行版本,比如ubuntu,centos

        对于精简版本的os,只需要最基本的命令,工具就可以了 ,所以底层直接使用的是宿主机的kernel,自己只提供rootfs,因此对于不同的发行版本,bootfs基本是一致的,rootfs会有一定的差别.

20.容器启动时,一个新的可写层被加入到镜像的顶部,这一层通常被称作容器层,容器层之下的都叫镜像层.镜像层是可读的.容器层是可写的.

21.commit命令 上传镜像

         以vim命令举例,在官网上docker pull ubuntu得到的ubuntu是没有vim命令的,需要我们自己安装,安装命令如下:        

apt-get update
#先更行包管理工具
apt-get install vim
#然后安装我们需要的vim

操作结束后,使用commit命令

        docker commit -m="提交的描述信息" -a="作者" 容器id  要创建的目标镜像名:[标签名]

        eg:    docker commit -m="add vim" 41c4273eb615 ycl/ubuntu

        使用 docker images可以得到如下的结果:

        

        可以看出自行创建的镜像的大小明显要大于原始的镜像的大小. 

相关内容

热门资讯

最新小学生成长手册评语   篇一:成长记录册填写之班主任评语大全  成长记录册之班主任评语大全  “有志不在年高”,虽然你是...
吸引人的早安心语 吸引人的早安心语大全  早晨,清冷的氛围如牛乳般新颖,冉起的太阳如胡想般但愿,这是一篇关于早安心语大...
父母给幼儿园孩子寄语 父母给幼儿园孩子寄语  在生活、工作和学习中,大家一定都接触过寄语吧,借助寄语人们可以寄托自己的希望...
值得品味作文 值得品味作文范文(精选11篇)  在现实生活或工作学习中,大家都不可避免地会接触到作文吧,作文是人们...
形容时尚潮流的语录   你知道哪些语录和时尚潮流有关的呢?哪些用来形容时尚潮流的呢?本文是小编为大家收集整理的形容时尚潮...
红与黑经典语录   红与黑经典语录  1、于连看见一只雄鹰从头顶上那些巨大的山岩中展翅高飞,在长空中悄然盘旋,不时划...
朋友圈周一早安问候语 朋友圈周一早安问候语  早上的晨光是我问候的主题,愿你今日幸福多彩;初升的太阳是我祝愿的载体,愿你任...
一年级学生期末评语 一年级学生期末评语(集锦15篇)  在学习、工作乃至生活中,大家都有写评语的经历,对评语很是熟悉吧,...
我的30年工作感言 我的30年工作感言(通用9篇)  在平日的学习、工作或生活中,我们心中时常会积累了不少感想和见解,这...
感谢的话语简短大全 感谢的话语简短大全  感谢的话语简短大全(精选255句)  随着社交网络的迅猛发展,越来越多人热衷于...
陈果经典语录 陈果经典语录  在日常学习、工作抑或是生活中,大家总免不了要接触或使用语录吧,语录是中国古代散文的一...
结婚一周年简短感言 结婚一周年简短感言10则  结婚,法律上称为婚姻成立。是指男女或者伴侣双方依照法律规定的条件和程序确...
小学语文评课评语   小学语文评课评语  1、教师能合理组织学生自主学习、合作探究,对学生的即时评价具有发展性和激励性...
高中生学期末评语 高中生学期末评语(合集15篇)  在学习、工作乃至生活中,大家都用到过评语吧,评语对被评价对象来说,...
同学会感言 同学会感言15篇  在平日的学习、工作或生活中,我们时常会在一些事情上受到启发,如此便可将其记录在感...
佛语唯美经典语录   发菩提心者,非为己利,原为尽十方遍法界,一切极苦有情之所依怙。下面是小编为大家整理收集的关于唯美...
给媳妇检讨书 给媳妇检讨书  在有过错的情况下,为了避免再犯,就需要写一份自我检讨书好好进行自我检讨,在写检讨书时...
大班毕业评语 大班毕业评语汇编15篇  在日复一日的学习、工作或生活中,要用到评语的情况还是蛮多的,评语是指含有说...
我的教育随笔感言:爱在身边   开学不久,我和朋友一起在新世纪超市里挑选榴莲。榴莲享有“水果之王”的美誉,爱吃水果的我当然是爱不...
毕业寄语英语版   毕业寄语英语版一  Congratulations on your graduation! Wh...