美文网首页
Docker安装及原理

Docker安装及原理

作者: overflowedstack | 来源:发表于2021-03-10 21:18 被阅读0次
    1. Docker是什么
      容器,容器内的应用直接运行在宿主机的内核,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了。
      每个容器间是互相隔离的,每个容器都有一个属于自己的文件系统,互不影响。

    2. MacOS上安装Docker:
      2.1 从阿里云下载Docker镜像
      http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/
      2.2 安装成功,启动,查看版本信息:

    ~ $ docker version
    Client:
     Version:      17.03.1-ce-rc1
     API version:  1.27
     Go version:   go1.7.5
     Git commit:   3476dbf
     Built:        Fri Mar 17 00:27:41 2017
     OS/Arch:      darwin/amd64
    
    Server:
     Version:      17.03.1-ce-rc1
     API version:  1.27 (minimum version 1.12)
     Go version:   go1.7.5
     Git commit:   3476dbf
     Built:        Wed Mar 15 20:28:18 2017
     OS/Arch:      linux/amd64
     Experimental: true
    

    2.3 运行hello-world,证明安装成功

    ~ $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    b8dfde127a29: Pull complete 
    Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    

    2.4 查看下载的hello-world镜像

    ~ $ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    hello-world         latest              d1165f221234        4 days ago          13.3 kB
    
    1. docker run的流程
      3.1 docker在本机寻找镜像
      3.2 有这个镜像,则使用这个镜像并运行
      3.3 没有这个镜像,则去docker hub上找这个镜像
      --docker hub上有这个镜像,则下载到本地
      --docker hub上没有这个镜像,则返回error

    2. docker的底层原理?
      4.1 docker是怎么工作的
      Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。
      DockerServer接收到DockerClient的指令,就会执行这个命令。
      4.2 docker为什么比VM快?
      1)docker有着比虚拟机更少的抽象层
      2)docker利用的是宿主机的内核,vm需要guest os
      所以新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统的内核。虚拟机需要加载guest os,而docker直接利用宿主机的操作系统,省略了复杂的过程,所以docker很快,秒级别的。

    相关文章

      网友评论

          本文标题:Docker安装及原理

          本文链接:https://www.haomeiwen.com/subject/txbmqltx.html