zoukankan      html  css  js  c++  java
  • Docker镜像

    docker镜像123?

    额,由于没有实验环境,没有亲手实践,因此理解可能有不对的地方。
    反正也是学习笔记,以后再修改吧...
    

    docker的镜像跟virtualbox的镜像不一样。在虚拟机中,镜像是一个系统的完整体,包括了系统、用户在上面做的操作等等。而在docker中,镜像是一组文件的叠加。

    解释下,玩过PS的应该都知道图层的概念。一个图片由不同的图层叠加混合,最终形成一张完美的照片。其中底层可能原始图片,然后盖上一层黄色,再覆盖掉不想要的部分,或者添加点点缀,通过这种图层的方式,可以方便的合并出想要的图片。在docker中,先通过启动文件启动一个基础的文件,然后在它上面加载文件系统,同时加载其他的文件。

    举个例子,我想要搭建一个apache服务器的镜像,可能会按照下面的步骤:

    • 加载启动文件
    • 加载文件系统,如ubuntu或者centos或者fedora
    • 加载emacs
    • 加载apache

    就像下面的图展示的一样:

    加载完这些镜像后,会创建一个读写层。之前加载的镜像都是只读的,所有的修改操作都会放在这个读写层中。如果修改的是下面只读层的内容,则会拷贝到读写层再修改,这样就保证了层的读写分离

    docker镜像相关的命令

    查看docker镜像

    sudo docker images 
    

    从镜像网站上拉取镜像:

    sudo docker pull fedora:20
    

    查找镜像:

    sudo docker search puppet
    

    推送镜像:

    sudo docker push jamtur01/static_web
    

    删除镜像:

    sudo docker rmi jamtur01/static_web
    

    通过dockerfile创建镜像:

    touch Dockerfile
    sudo docker build =t="xxx/xxx:xxx"
    

    查询docker历史:

    sudo docker history 2dfshfjksd
    

    dockerfile中的命令

    1 CMD:启动时运行的命令
    2 ENTRYPOINT:不会被run的指令覆盖。
    3 WORKERID:创建新的镜像,设置工作目录
    4 ENV:设置环境变量
    5 USER:指定运行的用户
    6 VOLUME:向镜像添加卷
    7 ADD:把文件夹中的内容复制到镜像中
    8 COPY:与ADD类似,但是不会解压或者提取
    9 ONBUILD:添加触发器
    
  • 相关阅读:
    嵌入式Linux的调试技术
    硬件抽象层:HAL
    让开发板发出声音
    android 底层入门开发(二)
    android 底层开发入门(一)
    android驱动开发前的准备(五)
    Android驱动开发前的准备(四)
    Android驱动开发前的准备(三)
    Android驱动开发前的准备(二)
    Android驱动开发前的准备(一)
  • 原文地址:https://www.cnblogs.com/xing901022/p/5202486.html
Copyright © 2011-2022 走看看